Thread Term::Choose (13 answers)
Opened by Kuerbis at 2012-07-27 18:58

Linuxer
 2014-03-26 08:43
#174435 #174435
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Ich erkenne den expliziten Vorteil noch nicht? Vielleicht fehlt mir auch einfach der Kontext, in dem Du das einsetzen willst.

Bei Objekten verlierst Du damit Information, auf welchem Datentyp das Objekt beruht und wenn die Klasse einen langen Namen hat, dann "reisst" das Format immer noch aus (weil eben der Klassenname so lang ist)...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$ cat a.pl
#! /usr/bin/perl
use strict;
use warnings;

use CGI;
use XML::Parser::Expat;

sub foo {
my $r = shift;

# Kuerbis' Vorschlag
if ( ref $r ) {
printf "1. %s(0x%x)\n", ref($r), $r;
}

# einfache Ausgabe
printf "2. %s\n", $r;
}

# check different references and objects
for my $e ( [], {}, CGI->new, XML::Parser::Expat->new ) {
foo($e);
}

__END__


$ perl a.pl
1. ARRAY(0x94d78c4)
2. ARRAY(0x94d78c4)
1. HASH(0x9525064)
2. HASH(0x9525064)
1. CGI(0x94f05fc)
2. CGI=HASH(0x94f05fc)
1. XML::Parser::Expat(0x95284ec)
2. XML::Parser::Expat=HASH(0x95284ec)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Term::Choose