App-keycommon
view release on metacpan or search on metacpan
scripts/keycommon view on Meta::CPAN
#!/usr/bin/perl
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/keycommon 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" ;
( run in 0.399 second using v1.01-cache-2.11-cpan-64827b87656 )