endlosschleife
Spec
- perl
Kann mir jemand vieleicht weiterhelfen und zwar mir sagen warum das hier eine endlosschleife ergibt:
my @jpg = glob("*.jpg");
my @gif = glob("*.gif");
my @jpeg = glob("*.jpeg");
my @files = (@jpg, @gif, @jpeg);
for my $item (@files) {
push @files, {ID => $item};
}
Hallo,
# Nimm der Reihe nach die Einträge eines Arrays
> for my $item (@files) {
# und hänge sie zusätzlich nochmals am Ende des Arrays an
> [link:http://perldoc.perl.org/functions/push.html@title=push] @files, {ID => $item};
> }
# Kein Wunder, wenn das Ende des Arrays nie erreicht werden kann,
# falls das Array zu Beginn nicht leer ist.
>
Freundliche Grüße
Vinzenz
Kann mir jemand vieleicht weiterhelfen und zwar mir sagen warum das hier eine endlosschleife ergibt:
Das hat Dir Vinzenz schon gesagt, aber warum machst Du es so umständlich? Kürzer und eleganter geht's ab Perl 5.6.0 wie folgt:
while(<*.{jpg,gif,jpeg}>) {
print $_, "\n";
}
In $_ steht die aktuell gefundene Datei, damit kannst Du dann Deinen Hash füllen.
Siechfred