Perl Verzeichnis auslesen und erste Datei zurückgeben
Hey,
ich habe ein Problem. Ich möchte gerne eine .csv Datei zippen. Die .csv Datei und mein Perl Programm liegen in einem Ordner. Jedoch möchte ich gerne das mein Perl den aktuellen Ordner durchsucht und die ganzen Dateien dann nach Datum sortiert, und mir dann am besten die neueste Datei in dem Ordner zippt. Kann mir jemand meinen Code im Anhang korrigieren oder sagen was ich machen muss? Wäre nett. Liebe Grüße
ich habe ein Problem. Ich möchte gerne eine .csv Datei zippen. Die .csv Datei und mein Perl Programm liegen in einem Ordner. Jedoch möchte ich gerne das mein Perl den aktuellen Ordner durchsucht und die ganzen Dateien dann nach Datum sortiert, und mir dann am besten die neueste Datei in dem Ordner zippt. Kann mir jemand meinen Code im Anhang korrigieren oder sagen was ich machen muss? Wäre nett. Liebe Grüße
my $verz = cwd();
my $dir = $verz;
my @dir;
opendir (DIR, $dir);
@dir=readdir(DIR);
closedir(DIR);
@dir = sort { -M "$dir/$a" <=> -M "$dir/$b" } (@dir);
foreach (@dir) {
if ($_ =~ m!\.CSV!) {
print $_."\n" ;
}#end if
}#end foreach
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 257022
Url: https://administrator.de/contentid/257022
Ausgedruckt am: 24.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo moritzhd,
mit deiner Variante z.B. so
(getestet auf einem Ubuntu Linux)
Grüße Uwe
mit deiner Variante z.B. so
#!/usr/bin/perl
my $current_dir = ".";
my $latest_csv_file = "";
opendir ($DIR, $current_dir);
my @files=readdir($DIR);
closedir($DIR);
@files = sort { -M "$current_dir/$a" <=> -M "$current_dir/$b" } @files;
foreach (@files) {
if ($_ =~ /\.csv$/i) {
$latest_csv_file = $_;
last;
}
}
print $latest_csv_file."\n";
Grüße Uwe