Get time in milliseconds without an installing an extra package?

JJ Liu picture JJ Liu · Nov 3, 2011 · Viewed 25.2k times · Source

How can I get the time in milliseconds in Perl without installing any extra package?

I am running Linux.

Answer

Zaid picture Zaid · Nov 3, 2011

Time::HiRes has been part of the core since Perl 5.7.3. To check for its availability, check for the Perl version, perl -v, or try to use it with perl -e 'use Time::HiRes;', both from the command line.

Sample usage:

use Time::HiRes qw/ time sleep /;

my $start = time;
sleep rand(10)/3;
my $end   = time;

print 'Slept for ', ( $end - $start ) , "\n";

To build on Konerak's comment, if it isn't there or it cannot be used, use native Linux commands via backticks:

sub time_since_epoch { return `date +%s.%N` }

print time_since_epoch;