1 2 3
my $testFolder = "f:\\tmp"; my @testList = glob("$testFolder\\foo"); print @testList;
glob("$testFolder\\foo*")
Quoteperldoc globglob
In list context, returns a (possibly empty) list of filename expansions on the value of EXPR such as the standard Unix shell /bin/csh would do.
2011-12-29T10:54:17 crojayDeswegen ist es später sinnvoll, dann auch den "gefundenen" Dateinamen auf Existenz als echte Datei mit dem Dateitestoperator -f zu prüfen.ich habe im Verzeichnis f:\tmp mehrere Dateien, keine beginnt mit foo
aber dennoch liefert die glob methode ein Ergebnis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
sub removeFilesWithPattern{ my($folder,$filePattern) = @_; my $deletedFilesCounter = 0; &log_this($customer,$ordername,"Deleting files which matches pattern $filePattern in folder: $folder"); if (-d $folder){ opendir FOLDER, $folder or die "cannot open dir $folder $!\n"; my @fileList = readdir FOLDER; closedir FOLDER; foreach my $entry (@fileList){ if (!-d "$folder\\$entry"){ if ($entry =~ m/$filePattern/){ &log_this($customer,$ordername,"delete file $entry"); unlink "$folder\\$entry"; $deletedFilesCounter++; } } } } return $deletedFilesCounter }