Hi,
probiert mal folgendes Script "test.pl" aus:
<CUT>
#!/usr/bin/perl
@dummy=(1,2,3);
foreach(@dummy){
&dateilesen;
}
foreach(@dummy){
print "$_\n";
}
sub dateilesen(){
$dummy="";
open(FILE,"<test.pl");
while(<FILE>){
$dummy.=$_;
}
close(FILE);
}
</CUT>
Eigentlich sollte dieses Script
<CUT>
1
2
3
</CUT>
ausgeben. Aber es gibt nichts aus - warum nur!? Das Array ist während der ersten foreach-Schleife laut
<CUT>
...
print @dummy-1."\n";
...
</CUT>
nicht gelöscht worden, trotzdem kann eine weitere foreach-Schleife die Elemente von @dummy nicht mehr verarbeiten. Mein zweiter Versuch mit einer geänderten zweiten foreach-Schleife lief auch nicht besser:
<CUT>
...
foreach $dummy(@dummy){
print "$dummy\n";
}
...
</CUT>
Seltsam, oder? Es ist übrigens egal, welche Namen ich den verwendeten Variablen gebe, es kommt immer das Selbe heraus... Hat das vielleicht irgendwas mit <FILE> zu tun?
Ciao
Andreas