#!/usr/bin/perl use 5.001 ; use strict ; use warnings ; use Getopt::Std ; getopts "cdk:sr23456" , \my %o ; use Time::HiRes qw[ gettimeofday tv_interval ] ; #die "Time::HiRes can not be used.\n" if $@ ; use Term::ANSIColor qw[color] ; sub timenow () ; my $d = 0 ; # æ¡æ•° $d = $o{2} ? 2 : $o{3} ? 3 : $o{4} ? 4 : $o{5} ? 5 : $o{6} ? 6 : $d ; $d = $o{k} if defined $o{k} ; my $d6 = 1e6 / 10 ** $d ; * timenow = * hhmmss0 ; * timenow = * hhmmssD if $d ; * timenow = * ymdhms if $o{d} ; * timenow = * secondsSince0 if $o{s} ; * timenow = * secondsSinceD if $o{s} && $d ; my $t0s = time ; # エãƒãƒƒã‚¯ç§’ã®å–å¾— my $t0 = [gettimeofday] if $o{s} ; if ( ! $o{c} ) { print timenow() , "\t" , $_ while <> ; } else { print color('cyan').timenow.color('reset')."\t".$_ while ( <> ) ; } exit ; sub hhmmss0 ( ) { return sprintf "%02d:%02d:%02d" , @{[localtime]} [2,1,0] ; } sub hhmmssD ( ) { my ($sec, $msec) = gettimeofday ; return sprintf '%02d:%02d:%02d.%0'. $d. 'd' , @{[localtime($sec)]} [2,1,0] , int $msec /$d6 ; #$msec/(1e6/10**$d) ; } sub hhmmss3 ( ) { my ($sec, $msec) = gettimeofday ; return sprintf "%02d:%02d:%02d.%03d" , @{[localtime($sec)]} [2,1,0] , int $msec/1e3 ; } sub hhmmss6 ( ) { my ($sec, $msec) = gettimeofday ; return sprintf "%02d:%02d:%02d.%06d" , @{[localtime($sec)]} [2,1,0] , $msec ; } sub ymdhms ( ) { my @f = localtime ; $f[4] += 1 ; $f[5] += 1900 ; return sprintf '%02d-%02d-%02d %02d:%02d:%02d' , @f[5,4,3,2,1,0] ; } sub secondsSince0 ( ) { return sprintf "%0.0f" , time - $t0s } sub secondsSinceD ( ) { return sprintf '%0.'.$d.'f' , tv_interval ( $t0 ) } ## ヘルプã®æ‰±ã„ sub VERSION_MESSAGE {} sub HELP_MESSAGE{ use FindBin qw[ $Script ] ; $ARGV[1] //= '' ; open my $FH , '<' , $0 ; while(<$FH>){ s/\$0/$Script/g ; print $_ if $ARGV[1] eq 'opt' ? m/^\ +\-/ : s/^=head1// .. s/^=cut// ; } close $FH ; exit 0 ; } =encoding utf8 =head1 $0 $0 ã¯å…¥åŠ›ã‚’å¯èƒ½ãªé™ã‚Šèªå–ã‚Šã€ãã®å„è¡Œã®å…ˆé ã«èªã¿å–ã£ãŸæ™‚刻ã®æƒ…å ±ã‚’ タブ区切りã§å‡ºåŠ›ã™ã‚‹ã€‚ オプション : -c : æ—¥æ™‚æƒ…å ±ã«è‰²ã‚’付ã‘る。 -d : 日付(å¹´:月:æ—¥) を出力ã™ã‚‹ã€‚ -s : $0 ã‚’èµ·å‹•ã—ã¦ã‹ã‚‰ã®ç§’数を出力ã™ã‚‹ã€‚ -k num : 秒数をå°æ•°ç‚¹ä»¥ä¸‹ num æ¡å‡ºåŠ›ã™ã‚‹ã€‚ -2 : 秒数をå°æ•°ç‚¹ä»¥ä¸‹2æ¡å‡ºåŠ›ã™ã‚‹ã€‚ -3 : 秒数をå°æ•°ç‚¹ä»¥ä¸‹3æ¡å‡ºåŠ›ã™ã‚‹ã€‚ -4 : 秒数をå°æ•°ç‚¹ä»¥ä¸‹4æ¡å‡ºåŠ›ã™ã‚‹ã€‚ -5 : 秒数をå°æ•°ç‚¹ä»¥ä¸‹5æ¡å‡ºåŠ›ã™ã‚‹ã€‚ -6 : 秒数をå°æ•°ç‚¹ä»¥ä¸‹6æ¡å‡ºåŠ›ã™ã‚‹ã€‚ =cut