[EMAIL PROTECTED] wrote:
Hi all:

I'm trying to determine how long an system operation takes. Anyone know of a simple way to do this ?

I wanted to establish the start time. Then run the operation. Then mark the finish time. Then substract the start time from the finish time to get an elapsed time. Here's the simplistic approach I tried. I'm sure I need a time that is measured in seconds or something like that, but I'm not sure how to do this.

TIA

Here's what I tried:

#!/usr/bin/perl -w
use warnings;
use strict;

my $start = "Tue Jan 27 15:40:16 2004";
print "This is the start time: $start \n";

system (This is where the system process stuff goes);

my $finish = localtime;
print "This is the finish time: $finish \n";

my $elapsedtime = ("$finish" - "$start") ;
print "This is the time diff: $elapsedtime \n";

The above obviously didn't work. Here's what it returned:

This is the start time: Tue Jan 27 15:40:16 2004 Argument "Tue Jan 27 15:40:16 2004" isn't numeric in subtraction (-) at C:\Perl\timetest.pl line 13.
This is the finish time: Tue Jan 27 19:45:56 2004 This is the time diff: 0 Argument "Tue Jan 27 19:45:56 2004" isn't numeric in subtraction (-) at C:\Perl\timetest.pl line ClearCase\Us

Assuming you don't need more granularity than seconds, you should just use 'time'. Don't hardcode the start time either as this seems kind of pointless, something like:


my $start = time;

system();

my $end = time;

Then subtract the two, that returns # of seconds. perldoc -f time

Depending on what your 'system' is doing you may need to look into Time::HiRes to get partial second granularity.

http://danconia.org

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to