App-Bin4TSV
view release on metacpan or search on metacpan
scripts/backcolor view on Meta::CPAN
#!/usr/bin/perl
use 5.014 ; use strict ; use warnings ;
use Getopt::Std ; getopts 'd:s' ,\my%o ;
use FindBin qw [ $Script ] ;
use Term::ANSIColor qw[ :constants color ] ; $Term::ANSIColor::AUTORESET = 1 ;
use Scalar::Util qw[ looks_like_number ] ;
use List::Util qw[ min max ] ;
$o{d} //= 1 ; # è²ã1段éä¸ããã®ã«ãæ°å¤ãããã¤é«ãå¿
è¦ããããã
while ( <> ) {
my @F = do { chomp ; split /\t/o, $_ , -1 } ;
for ( @F ) {
if ( looks_like_number ( $_ ) ) {
my $n = $o{s} ? sqrt ( $_ ) : $_ ;
my $d = max 0, min 5, int $n / $o{d} ;
my $c = "on_rgb00$d" ;
$_ = color ($c) . $_ . color ('reset') ;
}
}
say join "\t", @F ;
}
scripts/boxmuller view on Meta::CPAN
#!/usr/bin/perl
use 5.014 ; use strict ; use warnings ; # the functions requires 5.10 for "state", 5.14 for srand.
use Getopt::Std ; getopts ':.:@:1d:g:Lm:s:v:', \my%o ;
use Math::Trig qw/pi/ ; # 5.4ãã
use Scalar::Util qw/looks_like_number/ ; # 5.7.3ãã
use Term::ANSIColor qw/:constants color/ ; $Term::ANSIColor::AUTORESET = 1 ;
use Time::HiRes qw/sleep usleep gettimeofday tv_interval/ ; # 5.7.3ãã
$SIG{INT} = sub { & SecondInfo ; exit 130 } ;
my $time0 = [ gettimeofday ] ;
my ( $mu , $sd ) ; #mu : å¹³å , sd : æ¨æºåå·®
my ( $s1 , $s2 ) = (0,0) ; # 1ä¹å 㨠2ä¹å
my $count = 0 ; # åºåããåæ°
my $upto = $o{g} // 6 ; # åºåè¦ç´ æ°
& init ;
& main ;
& SecondInfo ;
exit 0 ;
sub init ( ) { #ãªãã·ã§ã³ã使ã£ãè¨å®
$o{s} = defined $o{s} ? srand $o{s} : srand ; # ä¹±æ°ã·ã¼ãã®ä¿ç®¡/è¨å®
sub LLN ( $ ) ; * LLN = * looks_like_number ; # 颿°åãé·ãããã®ã§ãçãããã
sub printErr( $ ){ print STDERR BRIGHT_RED "Option -$_[0] should have a numeric specification.\n" ; exit 1 }
$mu = $o{m} ? LLN $o{m} ? $o{m} : printErr "m" : 0 ; #m : å¹³å
$sd = $o{d} ? LLN $o{d} ? $o{d} : printErr "d" : $o{v} ? LLN $o{v} ? sqrt $o{v} : printErr "v" : 1 ; #sdï¼æ¨æºåå·®
}
sub main ( ) { # ä¹±æ°ã®åºå
sub getrand ;
sub boxmuller ( $$ ) ; #ããã¯ã¹ãã¥ã©ã¼æ³ã«ããã¬ã¦ã¹ä¹±æ°ã®ä½æ
* getrand = * boxmuller ;
* getrand = * lognormal if $o{L} ; # å¯¾æ°æ£è¦åå¸ã®æå®ããã£ãå ´åã
scripts/colsummary view on Meta::CPAN
# 2019/10/24 ããã«å¤§å¹
ã«æ¸ãæ¿ã
use 5.014 ; use warnings ; # also confirmed on 5.011 5.014 5.018
use strict ;
use Time::HiRes qw [ gettimeofday tv_interval ] ; my ${ dt_start } = [ gettimeofday ] ;
my $time0 = time ;
use autodie qw [ open ] ;
use Getopt::Std ; getopts 'g:i:jl:m:suwz=!@:#:0:2:' => \my %o ;
use List::Util qw/max min maxstr minstr/ ;
use POSIX qw/strtod/;
use Scalar::Util qw/looks_like_number/;
use Term::ANSIColor qw/:constants color/ ; $Term::ANSIColor::AUTORESET = 1 ;
use Encode qw[ decode_utf8 encode_utf8 ] ;
use FindBin qw [ $Script ] ;
my $sdt = sprintf '%04d-%02d-%02d %02d:%02d:%02d', do{my @t= @{[localtime]}[5,4,3,2,1,0]; $t[0]+=1900; $t[1]++; @t } ;
eval "use PerlIO::gzip;1" or die "PerlIO::gzip cannot be loaded, so -z does not work. ($Script, $sdt)\n" if $o{z} ;
sub AlignOut ( @ ) ; # åºå ; eachFileã§ãColstatã§ã使ãã
sub ColStat ( $$ ) ; # $colvals->[åçª] 㨠ååã æ¸¡ããããã¦ããã®ä¸èº«ã表示ãããã; eachFileã§ãColstatã§ã使ãã
sub d3 ($) { $_[0] =~ s/(?<=\d)(?=(\d\d\d)+($|\D))/,/gr } ; # æ°ã3æ¡åºåãã«å¤æããã
#sub hhmmss () { sprintf '%02d:%02d:%02d' , @{[localtime]}[2,1,0] } ; # ç¾å¨æå»ã hh:mm:ss ã®å½¢å¼ã§åãåºãã
scripts/colsummary view on Meta::CPAN
push @ostr , $t.'(x'.$p_ccount->{$t} .')' if ( $p_ccount->{$t} >= 2 ) ;
last if ( $c >= $o{g} ) ;
}
return @ostr ;
} ;
# é
ååç
§ãããæå°å¤æå¤§å¤ãåãåºã
sub minmaxstr ( $ ) {
sub part ( &@ ) ;
sub RangeStr ( $$ ) ;
my @gps = part {$_ eq '' ? 0 : looks_like_number $_ ? 1 : 2} @{ $_[0] } ;
my @ostr ;
push @ostr, '' if $gps[0] ; # 空æååãããã¨ãã®å¦ç
push @ostr, RangeStr( min(@{$gps[1]}), max(@{$gps[1]}) ) if $gps[1] ; # æ°ã«è¦ããå¤ãããã¨ãã®å¦ç
push @ostr, RangeStr( minstr(@{$gps[2]}), maxstr(@{$gps[2]}) ) if $gps[2] ; # æ°ã«è¦ããªãå¤ãããã¨ãã®å¦ç
return @ostr;
} ;
sub part ( &@ ) { my ($cd, @l) = @_ ; my @p ; push @{ $p[ $cd->($_) ] } , $_ for @l ; @p } ; # ãã®é¢æ°ã¯ List::MoreUtils
sub RangeStr ( $$ ) { $_[0] eq $_[1] ? "$_[0]" : "$_[0]..$_[1]" } # 2åã®æ°oræååãã 1..2ã®ãããªæååãçæ
scripts/crosstable view on Meta::CPAN
#!/Users/toshiyuki-shimono/.plenv/versions/5.32.1/bin/perl5.32.1
use 5.014 ; use strict ; use warnings ;
use Scalar::Util qw/looks_like_number/; # 5.7 ~
use Getopt::Std; getopts '::^:~=+:,:@:0:1:d:i:qvm:' , \my %o ;
use Term::ANSIColor qw/:constants color/; $Term::ANSIColor::AUTORESET = 1 ;# v5.6 ~
#use utf8 ;
my $isep = $o{i} // "\t" ; # å
¥åã®åºåãæå
my $oemp = $o{'0'} // 0 ; # åºåã®ã»ã«ãæªå®ç¾©å¤ã®å ´åã«ä»£ããã«åºåããæåå
my $sec = $o{'@'} // 10 ; # ä½ç§ãã¨ã«å¦çç¶æ
ãåºåãããã
my $addC ; # ããåãå ç®ããå ´åã®åã®æå®
my $t00 ; # 表ã®å·¦ä¸é
ã«è¼ããæåå
my %ax2 ; # ãã¼ã¯æ¨ªè»¸ã®é
ç®åã¨ãªãã
my %C ; # ã»ã«ã®å¤
scripts/crosstable view on Meta::CPAN
showMat( \%Ce , "empties" ) ; # 空æååãããã¤åºç¾ããã
}
$SIG{INT} = $IntFirst
# my %Cv ; for my$i(@a1){for my$j(@a2){$Cv{$i}{$j}=($Cc{$i}{$j}//0)-($Ce{$i}{$j}//0)}}
}
sub StrNumSort ( @ ) {
+( sort { $a cmp $b } grep { ! looks_like_number ($_) } @_ ) ,
( sort { $a <=> $b } grep { looks_like_number ($_) } @_ ) ;
}
sub showMat ( $$ ) {
my ($C,$h11) = @_ ; # ã»ã«, 縦軸, 横軸, åºå表ã®å·¦ä¸ã®æåå
my @a1 = StrNumSort ( keys %{$C} ) ; # 縦軸ã®åé
ç®å
my @a2 = StrNumSort ( keys %ax2 ) ; # 横軸ã®åé
ç®å
if ( defined $o{':'} ) {
@a1 = () ; # ãªã»ãã
scripts/digitdemog view on Meta::CPAN
#!/usr/bin/perl
use 5.014 ; use strict ; use warnings ; # the functions requires 5.10 for "state", 5.14 for srand.
use Getopt::Std ; getopts '12$:=p:q:u:LS', \my%o ;
use Math::Trig qw/pi/ ; # 5.4ãã
use Scalar::Util qw/looks_like_number/ ; # 5.7.3ãã
use Term::ANSIColor qw/:constants color/ ; $Term::ANSIColor::AUTORESET = 1 ;
use Time::HiRes qw/sleep usleep gettimeofday tv_interval/ ; # 5.7.3ãã
use Encode ;
#$SIG{INT} = sub { & info ; exit 130 } ;
my $time0 = [ gettimeofday ] ;
my ${binFlag} = 1 if defined $o{u} && $o{u} eq '0' ;
$o{'$'} //= 'end' ; # æåã®çµç«¯ã表ãè¨å·
$o{p} //= '' ; # æåãåãåãããã¿ã¼ã³ãæ£è¦è¡¨ç¾
scripts/joinn view on Meta::CPAN
#!/usr/bin/perl -T
use 5.001 ; use strict ; use warnings ;
use Getopt::Std ; getopts '0:12:cf:nr_~/:' , \my%o ;
use Scalar::Util qw/looks_like_number/ ;
use Term::ANSIColor qw/:constants/ ; $Term::ANSIColor::AUTORESET = 1 ;
my $sep = $o{'/'} // "\t" ; # å
¥åºåã®åºåãæå
my $empty = $o{0} // 'undef' ; # 対å¿ããå¤ãç¡ãå ´åã®ä»£æ¿ã®å¤
my $cutpos = $o{f} // 1 ; # åè¡ãå·¦ããä½çªç®ã®åã§åãã
my %val ; # $val{ ãã¼ã®å¤ } [ ãã¡ã¤ã«çªå· ] = ããªã¥ã¼ã®å¤
my $pole = 0 ;
my $Flst = (defined $o{2} && $o{2} =~ m/\./ ) ; # åãã¡ã¤ã«ã§åããã¼ãåºç¾ããå ´åã«æå¾ã®ããªã¥ã¼ãæ¡ç¨ãããã©ããã®ãã©ã°
my $Fcon = (defined $o{2} && $o{2} =~ m/:/ ) ; # åãã¡ã¤ã«ã§åããã¼ãåºç¾ããå ´åã«æå¾ã®ããªã¥ã¼ãæ¡ç¨ãããã©ããã®ãã©ã°
my (@keg1,%keg1) ; # -1 ãæå®ãããå ´åããã¼ãæåã«èªã¾ããé ã«ãåºåã®é åºãä¸è´ããããããã«ä½¿ã夿°
scripts/joinn view on Meta::CPAN
elsif ($Fcon) { grep { if ( defined $_ ) { $_ .= ":$value" } else { $_ = $value } } $val{ $key } [ $pole ] }
else { $val{ $key } [ $pole ] //= $value } ; # ãã¼(1åç®)ãã¨ã« ãã¡ã¤ã«çªå·ã表ã $pole ãã¨ã«å¤(2åç®)ãæ ¼ç´ã
}
}
sub outputting {
my @keg = keys %val unless $o{1} ;
@keg =
$o{1} ? @keg1 :
$o{n} ?
(@{[sort {$a <=> $b} grep { looks_like_number($_) } @keg ]} ,
sort {$a cmp $b} grep { ! looks_like_number($_) } @keg ) :
sort @keg ;
@keg = reverse @keg if $o{r} ;
*UNDERLINE = sub {@_} unless $o{'_'} ;
for my $k ( @keg ) {
print scalar @{[grep {defined $_} @{$val{$k}} ]}, "\t" if $o{c} ;
print UNDERLINE $k ;
print join $sep , '' , map { $val{$k}[$_] // $empty } 0 .. $pole -1 ;
print "\n" ;
scripts/summing view on Meta::CPAN
#!/usr/bin/perl
use 5.014 ; use strict; use warnings;
use Time::HiRes qw [ gettimeofday tv_interval ] ;
my ${ dt_start } = [ gettimeofday ] ;
use Scalar::Util qw/looks_like_number/;
use Getopt::Std; getopts "=~1:c:f:ghqu", \my%o;
use Term::ANSIColor qw[ :constants ] ;
use feature qw[ say ] ;
sub readInput () ; # å
¥åã®èªåã
sub printOutput () ; # åºåã®æ¸ãåºã
eval { use bigint qw[ hex ]} if $o{h} ;
$| = 1 unless $o{u} ;
my $sum = 0 ; # æ±ãããåè¨å¤
scripts/summing view on Meta::CPAN
sub readInput () {
chomp ( $header = <> ) if $o{'='} ; # ãããè¡
$SIG{ INT } = $ { ctrl_c } ;
# åã°ãã/ã·ã³ãã«ãã¼ãã«ã使ã£ã¦ã¿ãã
#my $org ; # å
¥åã®å
ã®æåå
* orgStore = defined $o{1} && $o{1} ? sub { @_ = ($_) } : sub { @_ = () } ;
* colChoose = defined $fp ? sub { $_ = [ split ] -> [ $fp ] } : sub { } ;
* caseHex = defined $o{h} ? sub { $_ = hex $_ } : sub {} ;
* outOfCount = defined $o{c} && $o{c} == 0 ? sub { } : sub { do { $nlln ++ ; goto LOOP } if ! & get_num } ;
* theSumming = $o{h} ? sub { $sum += $_ } : sub { $sum = "$sum" + "$_" } ;
* get_num = $o{g} ? sub { m/[-\.\d]+/ ; $_ = $& ; looks_like_number $_ } : sub { looks_like_number $_ } ;
* progress = defined $o{1} && $o{1} eq '0' ? sub { () } :
! $o{'~'} ? sub{ s/(^|[^0123456789.eEfF+-])(\d+)/$1+$2/g ; "$sum"."\t<= $_" } : # eEfFãªã©ã¨ããé¨åã¯ããã§è¯ãã®ã?
sub { s/(^|[^+-0123456789.eEfF+-])(\d+)/$1+$2/g ; "$_\t"."=> $sum" } ;
* doPrint = defined $o{1} && $o{1} eq '0' ? sub { } : sub { say join "\t" , @_ } ;
LOOP : while( <> ) {
chomp ;
& orgStore ;
& colChoose ;
& caseHex ;
scripts/summing view on Meta::CPAN
exit 0 ;
}
=encoding utf8
=head1
$0
å
¥åã®å¤ã1è¡ãã¤ã«åç´ã«è¶³ãåããããè£å©æ
å ±ã¨ãã¦ãä½è¡ãæ°ã¨ãã¦æ±ãããããå¹³åå¤ãªã©åºåããã
10鲿°ã§å ç®ãè¡ãã
æ°ãã©ããã®å¤å®ã¯ Scalar::Util ã® looks_like_number 颿°ã使ã£ã¦ãããå¤ã¯åç´ã«è¶³ãã¦ãããatof ãªã©ä½¿ã£ã¦ããªãã
åºå:
1. åè¨å¤
2. åè¨ã«ä½¿ãããæ°ã®åæ°
3. åè¨ã«ä½¿ãããªãã£ãè¡ã®æ°
4. å¹³åå¤
5. è¨ç®ã«ä½¿ã£ãç§æ°(å°æ°ç¹ä»¥ä¸6æ¡)
ãªãã·ã§ã³:
-= : æåã®è¡ããããã¨è¦ãªãããããä½ã§ãã£ãããæå¾ã«åºåããã
( run in 0.377 second using v1.01-cache-2.11-cpan-64827b87656 )