diff options
| -rwxr-xr-x | unixtime.pl | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/unixtime.pl b/unixtime.pl index ca99311..d6fff26 100755 --- a/unixtime.pl +++ b/unixtime.pl @@ -2,21 +2,28 @@  use POSIX qw( strftime );  use Time::HiRes qw( gettimeofday ); -if (defined $ARGV[0] and $ARGV ne "") { -    if ($ARGV[1] eq "ms") { +#Handle IRC input, multiple words is received as one argument +if (@ARGV eq 1) { +    @args = split(/ /, $ARGV[0]); +} else { +    @args = @ARGV; +} + +if (defined $args[0] and $args[0] ne "") { +    if ($args[1] eq "ms") {          #Convert from timestamp in milliseconds to date -        $seconds = substr $ARGV[0], 0, 10; -        $milliseconds = substr $ARGV[0], 10, 3; +        $seconds = substr $args[0], 0, 10; +        $milliseconds = substr $args[0], 10, 3;          $date =  strftime('%a %b %e %H:%M:%S:' . $milliseconds . ' %Z %Y', localtime( $seconds ) ) . "\n";          print $date; -    } elsif ($ARGV[0] eq "ms") { +    } elsif ($args[0] eq "ms") {          #Print current millisecond unix timestamp          ($seconds, $microseconds) = gettimeofday;          $milliseconds = substr $microseconds, 0, 3;          print $seconds . $milliseconds . "\n";      } else {          #Convert standard unix timestamp to date -        print strftime('%a %b %e %H:%M:%S %Z %Y', localtime( $ARGV[0] ) ) . "\n"; +        print strftime('%a %b %e %H:%M:%S %Z %Y', localtime( $args[0] ) ) . "\n";      }  } else {      #Print current standard unix timestamp | 
