Thread Variable verliert ihren Wert
(5 answers)
Opened by RalphFFM at 2007-08-17 17:05
$var wird anscheinend "magisch" local durch foreach:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/perl use strict; use warnings; my %myhash; my $var = "qiz"; # <- $var soll global sein! $myhash{'foo'} = "bar"; foreach $var (keys %myhash) { print $var; mysub(); } sub mysub { print "$var\n"; # <-- Wieso undef? } Das Verhalten lässt sich aber durch die Verwendung von our verhindern, dann geht es wie gewünscht. Genauer erklären wie dieses Verhalten zustande kommt kann ich aber leider nicht. |