Schrift
[thread]6096[/thread]

&{$name} beendet block: oder hab ich ein Blackout? (Seite 2)

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Strat
 2004-02-29 00:09
#80336 #80336
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Froschpopo: weil du keine symbolische Referenz verwendest, sondern &{.... } als dereferenzierung einer Referenz auf eine Sub. Bei
Code: (dl )
1
2
my $string = "test";
&{$string};

wuerde strict wohl meckern...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Froschpopo
 2004-02-29 02:16
#80337 #80337
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
klar,
aber ich habe ja $string = \&func
Strat
 2004-02-29 13:37
#80338 #80338
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
genau; du hast in $string eine echte referenz drinnen, die du dann mit &{$string} dereferenzierst. da koenntest du genausogut schreiben: &$string
Bei meinem letzten Beispiel ist $string keine Referenz auf eine Subroutine, sondern eine Zeichenkette, und da wird, wenn man symbolische Referenzen zulaesst, versucht, eine Funktion mit dem namen &test aufzurufen, und wenn es die zufaellig gibt, dann kann es sein, dass man ein schwierig zu findendes problem hat, ein guter Grund, um symbolische Referenzen mit strict auszuschalten und sie nur dort kurz gestatten, wo man sie unbedingt braucht (mit no strict 'refs';)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-02-26 10:57.