if (-e ... und Wildcard?

25/11/2008 - 11:53 von Astrid Kuhr | Report spam
Hallo!

Wuerde gerne in einem
Perlscript abfragen, ob es
in dem aktuellen Verzeichnis
irgendeine Datei gibt, die mit
abc anfaengt und mit .out aufhoert.

if (-e "abc*.out") findet aber nichts.
auch if (-e "abc\*.out") bringt keine
Besserung.

Es gibt aber so eine Datei dort.
Wenn ich explizit auf
if (-e "abc123.out") abfrage, dann
wird es true.
Aber den Bestandteil 123 kenne ich vorab
nicht, er ist auch fuer den weiteren
Ablauf bedeutungslos.

Ich moechte nur abfragen, ob es
irgendeine Datei gibt, die mit abc anfaengt
und .out aufhoert.

Kann man das if -e vielleicht irgendwie
"ueberlisten", doch eine Wildcard zu
aktzeptieren, oder wie kann man es sonst
realisieren?

Gruss, Astrid
 

Lesen sie die antworten

#1 Wolf Behrenhoff
25/11/2008 - 12:15 | Warnen spam
Astrid Kuhr wrote:
Hallo!

Wuerde gerne in einem
Perlscript abfragen, ob es
in dem aktuellen Verzeichnis
irgendeine Datei gibt, die mit
abc anfaengt und mit .out aufhoert.

if (-e "abc*.out") findet aber nichts.
auch if (-e "abc\*.out") bringt keine
Besserung.



Damit kannst du nur überprüfen, ob eine bestimmte Datei existiert -
Wildcards funktionieren nicht.

Ich moechte nur abfragen, ob es
irgendeine Datei gibt, die mit abc anfaengt
und .out aufhoert.



Alle Dateien auflisten und mit grep gucken, ob eine passende da ist.
Also grep deinsuchpattern, readdir deindirhandle.

Oder du nimmst glob:
$anzahlPassendeDateien=()=glob("abc*.out");

- Wolf

Ähnliche fragen