Thread Vordefinierte Variablen anzeigen
(52 answers)
Opened by bianca at 2010-02-07 13:20
$glob ist (im normalfall) keine referenz, sondern ein typeglob. ausser bei konstanten, wie es ausschaut.
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $main::test_variable = 23; sub test_sub; use constant test_constant => 23; sub test_sub2() { 23 } for my $var (sort keys %main::) { my $glob = $main::{$var}; my $ref = ref $glob; my $refref = ref \$glob; my $deref = $ref eq 'SCALAR' ? $$glob : '-'; say "var=$var glob=$glob ref=$ref refref=$refref deref=$deref"; } Ausgabe (verdeutlicht): Code: (dl
)
1 var=test_constant glob=SCALAR(0x176bd08) ref=SCALAR refref=REF deref: 23 wie man sieht, kann man so sogar doch den inhalt der konstanten ausgeben; ist für bianca evtl. noch interessant. warum das alles so ist und wo das im detail dokumentiert ist, weiss ich allerdings auch nicht, habe es aber auch noch nie so detailliert gebraucht. Last edited: 2014-10-19 20:39:20 +0200 (CEST) Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |