Hi,
Ja genau sowas aehnliches meinte ich. Danke.
Es gibt nur noch zwei Probleme:
1: Fehlermeldung (fuer jeden Eintrag im Array)
Use of uninitialized value in numeric comparison (<=>) at ./ordner_3.pl line 32.
Hier der Quellcode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/perl -w
use strict;
use warnings;
use Tk;
use File::stat;
my $dirprefix="/home/ich";
my $mw = MainWindow->new();
my $liste = $mw->ScrlListbox ( -label=>"Listen-Ausgabe" ,-background=>"grey"
,-relief=>"sunken" )->pack();
my $exitButton = $mw->Button( -text=>"Exit", -command=>"exit")->pack();
my $einleseButton = $mw->Button( -text=>"Einlesen" ,-command=>\&fill_in)->pack();
MainLoop;
sub fill_in {
my $elem;
my @allfiles;
my $sb;
opendir DIR, $dirprefix;
@allfiles = sort { -M $a <=> -M $b} readdir DIR; ### hier ist Zeile 32 !!!!!
closedir DIR;
#foreach $elem (@allfiles) {
# $sb = stat($elem);
# printf "File %s \t mtime %s\n", $elem, $sb->size;
#}
$liste->delete(0,"end");
foreach $elem (@allfiles) {
#if ( $elem =~ /\.html/ ) {
$liste->insert("end",$elem);
#print "$elem\n";
#}
}
}## fill_in
Die Ergebnisliste ist schon richtig sortiert, aber es gibt immer die fehlermeldung.
Wo liegt das Problem ?? Gibts da Abhilfe ??
Ein typischer Filename waere:
dddd-0-63----Hobby 600 Festbett---Teilintegrierter---EZ[0486]---preis[11.900]---km[140.000]---id=11111111129267353---.html
2: was bedeutet -M in der sort-Anweisung ??
Gruss