Zeitmessung in Perl

Hi,

ich habe mal eine Frage.

Ich habe ein Perl Skript welches per Cronjob alle 5 Minuten aufgerufen wird. Ich würde nun gerne wissen, ob es immer weniger bzw. max 5 Minuten braucht.

Ich will daher im Skript eine Zeitmessung durchführen in der Form

Code:
#!/usr/bin/perl
Zeitmessung_starten
funktion()
Zeitmessung_stoppen

Nun hätte ich gerne quasi in 2 Variablen ( minute/sekunde) quasi die Dauer des Skript abgespeichert.

Aber wie ?
 
Wieso verwendest du nicht nen Timestamp?

($sec,$min,$hour,$mday,$mon,$year,$wday,
$yday,$isdst)=localtime(time);
printf "%4d-%02d-%02d %02d:%02d:%02d\n",
$year+1900,$mon+1,$mday,$hour,$min,$sec;

mfg
 
Code:
my $starttime = localtime(time);
aufruf(code);
print 'Benoetigte Zeit: ' . (localtime(time)-$starttime);
 
Hi,

irgendwie will das nicht klappen.

Code:
my $starttime = localtime(time);
sleep(3);
print 'Benoetigte Zeit: ' . (localtime(time)-$starttime);

Ergebnis ist 0
 
Probier's mal damit:
Code:
my $st = time();
sleep(3);
print "foo:" . (time() - $st);
Ich habe noch nicht wirklich mit perl zu tun gehabt, aber ich vermute, dass er bei der Subtraktion sonst nicht mit der Liste die localtime() zurückliefert zurechtkommt.(wobei man hier eigentlich irgendeine Form von Exception/Fehler/sonstwas erwarten würde und nicht eine wenig aussagekräftige 0, aber wie gesagt, habe keinerlei perl-Erfahrung)
 
Zurück
Oben