Thread Verschwinden des Arrays
(3 answers)
Opened by Alexander at 2016-05-04 14:45
Mehrere Punkte:
Allgemein: * 3-Argumente-Form von open nehmen (hatten wir neulich gerade ausführlich hier / sicherer, besser, close wird verzichtbar) * use strict und use warnings einsetzen! Und zu deinem Problem: Wie Jan vermutet hat: Perl liebt Referenzen! D.h. folgendes gibt dir 3x "irgendwas" aus: Also: nicht 2x dieselbe Variable (hier $_) für unterschiedliche Dinge nutzen! (Es gibt allerdings noch das Keyword local, das das ganze beeinflusst und in foreach-Schleifen ist die Loop-Variable implizit local -> siehe perlsyn) Also: es kostet nix, die äußere Variable $filename zu nennen und die innere $line. Oder auf die innere Loop ganz verzeichten: push @zeilen, <OEFFNEN>; Insgesamt (ungetestet): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 use strict; use warnings; my @zeilen; my @dateien = glob "*.csv"; for my $filename (@dateien) { open my $FH, "<", $filename or die "\n\nProblem beim oeffenen von $filename . $! \n"; push @zeilen, <$FH>; } |