Abrufen der Liste der Dateien sortiert nach änderungsdatum in Perl

Ich versuche, die Liste der Dateien sortiert nach änderungsdatum. Ich veränderte Sie das Beispielprogramm aus Sortieren-Verzeichnis und eine Liste von Dateien basierend auf Datum und Zeit und versuchte zu laufen.

sub get_sorted_files {
    my $path = shift;
    opendir my($dir), $path or die "can't opendir $path: $!";
    my %hash = map {$_ => (stat($_))[9]}
               map  { "$dir$_" }
               grep { m/.*/i }
               readdir $dir;
    closedir $dir;
    return %hash;
}

my %files = get_sorted_files(".");
foreach my $keys (sort{$files{$a} <=> $files{$b}} keys %files) {
    print "$keys\t", scalar localtime($files{$keys}), "\n";
}

Läuft bei mir auf meinem Windows XP 32-bit-Maschine mit Strawberry Perl version 5.12.1.0.

Dem Verzeichnis unter Windows ist:

Abrufen der Liste der Dateien sortiert nach änderungsdatum in Perl

Ausgabe:

Abrufen der Liste der Dateien sortiert nach änderungsdatum in Perl

Die Ausgabe macht nicht viel Sinn für mich. Was läuft falsch mit diesem Stück code und wie genau ist die foreach Schleife Sortieren Sie die Liste der Dateien?

InformationsquelleAutor rkg | 2011-01-10

Schreibe einen Kommentar