[quote=J-jayz-Z,14.12.2005, 18:33]Ich hab da mal ne Funktion geschrieben, vielleicht hilft sie dir:
[/quote]
Jetzt muss ich aber doch mal diese Funktion etwas kommentieren.
Quote
sub mtime {
my $file = shift;
my $option = shift;
my $mtime = (stat $file)[9];
my $epoch = time();
my $mtime = $epoch-$atime;
Zweimal
$mtime?? Das gibt Fehler.
Moeglicherweise soll ja das zuerst deklarierte
$mtime eigentlich ein
$atime sein oder es sollte so etwas wie
my $mtime = time() - (stat $file)[9]
herauskommen - das waere aber auch mit
my $mtime = (-M $file) * 86_400
gegangen.
Quote
if($option eq "time") {
if($mtime < 60) {
my $sek = $mtime % 60;
$mtime = $sek . " sec";
Das ist jetzt schon die
dritte unterschiedliche Bedeutung fuer die Variable
$mtime! Kein guter Stil.
Vgl. auch weiter unten.
Quote
} elsif($mtime >= 60 && $mtime < 3600) {
my $min = $mtime / 60 % 60;
my $sek = $mtime % 60;
$mtime = $min.":".$sek . " min";
} else {
my $hour = $mtime / 3600 % 60;
my $min = $mtime / 60 % 60;
my $sek = $mtime % 60;
$mtime = $hour.":".$min.":".$sek . " hour";
}
} elsif ($option eq "date") {
$mtime = scalar localtime $mtime;
}
Die Variante mit
$option eq "date" duerfte in den seltensten Faellen ein sinnvoll brauchbares Ergebnis liefern. Fuer eine zwei Tage alte Datei erhaelt man dann in
$mtime den String "Sat Jan 3 01:00:00 1970". Wozu?
Quote
Fehlt da nicht etwas, vielleicht ein
return $mtime? Die Funktion gibt so nichts aus und gibt auch nichts zurueck.
Irgendwie habe ich den Eindruck, diese "hab da mal ne Funktion geschrieben" ist entweder aus vorhandenem Code zusammengestrichen oder auf die Schnelle geschrieben, auf jeden Fall aber ungetestet. Ich bin mir nicht sicher, inwiefern so etwas wirklich eine Hilfe ist.