Thread Variable verliert ihren Wert (5 answers)
Opened by RalphFFM at 2007-08-17 17:05

Ronnie
 2007-08-17 17:20
#98335 #98335
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
$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.

View full thread Variable verliert ihren Wert