App-Bin4TSV

 view release on metacpan or  search on metacpan

scripts/alluniq  view on Meta::CPAN

	    return 1 if $o{q} ;
	    print STDERR # {$o{q} ? \* STDOUT : \*STDERR }
	      CYAN "Some counted lines are " , BRIGHT_RED "same.  " ,  
	      CYAN , "Different " , BRIGHT_CYAN (scalar keys %str2cnt) , CYAN " / All " , BRIGHT_CYAN $. . " ; " , 
	      CYAN ,  "Maximum multiplication : " , BRIGHT_CYAN  max( values %str2cnt ) ,
	      CYAN "  ($Script)\n"  ;
	    return 1 ; 
	}
}

sub tableOutput( ) { 
    ## 2. 度数nの異なる文字列が、具体的にどんな値であったか。
    while ( my( $str, $cnt) = each %str2cnt ) {
       push @{ $cnt2strs {$cnt} }, $str ; 
    }
    my $msep = $o{2} ? "\n" : "\t"  ;
    print $o{2} ? "mult\tfreq\n" : "mult\tfreq\texamples\n" ;

    for my $count ( sort { $a <=> $b } keys %cnt2strs ) {
        print "$count\t", scalar @{ $cnt2strs {$count} }, $msep ; 
        next if $o{2} ; # -2 指定の場合は、該当文字列の例を出力しない。

scripts/boxmuller  view on Meta::CPAN

      my $r2C = cos $r2 ; 
      ( my $t , $z ) = ( $r1R * $r2S , $r1R * $r2C ) ; 
      return $t * $_[1] + $_[0] ; 
  }

  sub lognormal ( $$ ) { 
  	return exp boxmuller $_[0], $_[1] ;
  }
}

sub SecondInfo( ) {   #  処理したことについての二次情報を出力
    return if $o{1} ;
    use FindBin qw [ $Script ] ; 
    my $cmd = "$Script -m $mu -d $sd" ; 
    $cmd .= ' -L' if $o{L} ;
    print STDERR 
       CYAN "printed lines: ", BRIGHT_CYAN $count ,
       CYAN " , used random seed: " , BRIGHT_CYAN  $o{s} ,
       CYAN " , elapsed seconds: " , BRIGHT_CYAN  tv_interval ($time0) ,
       RESET "\n" , 
       CYAN "sum = " , BRIGHT_CYAN  sprintf("%g", $s1 ) ,

scripts/chars2code  view on Meta::CPAN

my $h = $o{b} ? '0x' : $o{w}? '0x' : 'u+' ; # 区点番号を出力する時に表示する接頭辞

my $base = $o{0} ? 0 : 1 ; # ゼロオリジンにするか、1オリジンにするか
if ( $o{n} ) { & CountChars }
elsif ( $o{1} ) { & OneLineOneChar }
else { & LinePreserve } ; 
exit 0 ; 


# 1文字を制御文字についてはエスケープ文字を付けた様な形にする。ある種の文字の正規化する。
sub norChar($){
  state  $x = \{ 0,'\0',7,'\a',8,'\b',9,'\t',10,'\n',11,'\v',12,'\f',13,'\r',27,'\e'} ; 
  return $$x->{ ord $_[0] } // $_[0] ;
}

sub LinePreserve { 
  say CYAN UNDERLINE +( $o{':'} ? 'lin#:' : '' ) . '#char', DARK '(#bytes)' , RESET UNDERLINE "\tchar ", DARK "u+code .." ;
  while (<>) { 
  	my $str = decode ( $_ ) ; 
  	print CYAN 	+($o{':'}?($.+$base-1).":":''), length $str , DARK '('  , length $_ , ')' , RESET "\t" ;
    for ( split //, $str , 0 ) { 

scripts/colpairs  view on Meta::CPAN

           #my $val = mid (  values %{ $pf->[$i][$j] } ) ; # . "-" . ( max values %{ $pf->[$i][$j] } ) ; 

sub midval ( $ ) { 

    @_ = sort { $a <=> $b } values %{ $_[0] } ;
    my $len = scalar @_ - 1 ; 
    # return ( $_[ floor $len * $quot ] + $_[ ceil $len * $quot ] ) / 2 ; 
    return  $_[ floor $len * $quot ] ; # + $_[ ceil $len * $quot ] ) / 2 ; 
}

sub qval( $ ) {  # qval( 1, 2 ) ; 1番目は $pf->[$i][$j]まで 
	my $f = midval $_[0] ;
	return grep { $_[0]->{$_} == $f } keys %{ $_[0] } ; 
}


sub pickN ( $@ ) { 
	my $n = shift @_ ; 
	splice @_ , 0, $n ; 
}

scripts/dirdig  view on Meta::CPAN

      grep { $_  = GREEN & botD ($_) . '/'} @R ; 
      alt_say @R ;
    }
    print color ("reset") ; 
    print "\n" ;
  
    last if @dirfiles == 0 && ! $o{'.'} && $o{d} > 0 ;
  }
}

sub botD( $ ) {  # 区切りでsplitして下から$o{v}個のみ取り出して再連結
  my @t = splitdir shift ;
  my @t1 = splice @t , - min(  scalar @t , $o{v} ) ;
  my $i = $o{d} >= 0 ? '-' : '^' ;
  @t = @t ? $i x @t : () ; 
  return join $T , @t , @t1 ; 
}

sub rep ( @ ) { # 代表値の意味。文字列長が最小のものと最大のものも取り出したい
  sub sd { splitdir shift } ;  
  sub len { length shift } ; 

scripts/t1generate  view on Meta::CPAN

sub main ( ) {  #  乱数の出力
   for ( 1 .. $o{g} ) { 
       my $x = cauchydist ; 
       $x = sprintf "% .$o{'.'}f" , $x if defined $o{'.'} ; # <-- May be efficientized. 
       $s1 += $x ; 
       $s2 += $x ** 2 ; 
       print "$x\n" ; 
   }
}

sub SecondInfo( ) {   #  処理したことについての二次情報を出力
    use FindBin qw [ $Script ] ; 
    print STDERR 
       CYAN "[$Script] " , 
       CYAN "random numbers generated = ", BRIGHT_CYAN $o{g} ,
       CYAN ", sum = " , BRIGHT_CYAN  sprintf("%g", $s1 ) ,
       CYAN ", squared sum = " , BRIGHT_CYAN  sprintf( "%g" , $s2 ) , 
       CYAN ", used random seed = " , BRIGHT_CYAN  $o{s} ,
       CYAN "\n" ;
 }

scripts/t2generate  view on Meta::CPAN

sub main ( ) {  #  乱数の出力
   for ( 1 .. $o{g} ) { 
       my $x = & gen ; 
       $x = sprintf "% .$o{'.'}f" , $x if defined $o{'.'} ; # <-- May be efficientized. 
       $s1 += $x ; 
       $s2 += $x ** 2 ; 
       print "$x\n" ; 
   }
}

sub SecondInfo( ) {   #  処理したことについての二次情報を出力
    use FindBin qw [ $Script ] ; 
    my $t = $o{a} ? ' -a' : '' ;
    print STDERR 
       CYAN "[$Script$t] " , 
       CYAN "random numbers generated = ", BRIGHT_CYAN $o{g} ,
       CYAN ", sum = " , BRIGHT_CYAN  sprintf("%g", $s1 ) ,
       CYAN ", squared sum = " , BRIGHT_CYAN  sprintf( "%g" , $s2 ) , 
       CYAN ", used random seed = " , BRIGHT_CYAN  $o{s} ,
       CYAN "\n" ;
 }

scripts/uniq-c  view on Meta::CPAN

#!/usr/bin/perl
use 5.001 ; use strict ; use warnings ;
use Getopt::Std ; getopts '01y:!.:,:~@:' , \my%o ;
use Term::ANSIColor qw[ color :constants ] ; $Term::ANSIColor::AUTORESET = 1 ;
use FindBin qw[ $Script ] ;

sub sigint () ; # Ctrl-C が押下された時の動作
sub dtfmtlocal () ; # 現在の日時を返す
sub choreOpt () ; # コマンド引数の処理
sub mainCore() ; 
sub y_init () ; 
sub y_filter ($) ;
sub cyc_rep () ;

my $printOut ; # 各行でどういう出力処理をするか。オプションで書き換わる。
my $prevline ; # 直前行の内容
my $count = 1 ;
my @y_ranges ; 
my $cyc_len = $o{'@'} // 1e5 ; # 何行毎にレポートを発生させるか。
my ( $time0 , $time00 ) = ( time ) x 2 ; 



( run in 0.411 second using v1.01-cache-2.11-cpan-65fba6d93b7 )