App-Bin4TSV
view release on metacpan or search on metacpan
scripts/csel view on Meta::CPAN
#!/usr/bin/perl -T
use 5.008 ; use strict ; use warnings ; # 5.011
use Getopt::Std ; getopts '~i:=!d:0:h:np:rt:' , \my %o ;
#use List::MoreUtils qw/any none/ ;
use List::Util qw [ max ] ;
use Encode qw/decode_utf8/ ;
use Memoize ;
use Data::Dumper ;
use Term::ANSIColor qw[ :constants] ; $Term::ANSIColor::AUTORESET = 1 ;
memoize ( 'sCols' ) ; # ãã®ããã°ã©ã ã«ç¾ãã sCols 颿°ãé«éåããã
$| = 1 if $o{'!'} ;
my %cream ; # åã®çªå·ã®é
åãæ ¼ç´ããã
# $cream{p} åºåããããæå®ããåçªå·ã®ç¡åé
å
# $cream{d} åé¤ããããæå®ããåçªå·ã®ç¡åé
å
# $cream{h} å
é ã«ç§»åããããã«æå®ããåçªå·ã®ç¡åé
å
# $cream{t} æ«å°¾ã«ç§»åããããã«æå®ããåçªå·ã®ç¡åé
å
scripts/csel view on Meta::CPAN
}
return [ @out ] ;
}
# åè¡ã®åºåå¦çã sCols颿°ãå¼ã³åºãã¦ã鏿ããã-n ã§åçªå·ãä»ããã
sub line ( ) {
chomp ;
$_ = decode_utf8 ( $_ ) if $isep eq '' ; # å
¥åãSTDINã¨ã¯éããªãã®ã§ binmode ã使ãã decode_utf8
my @F = split /$isep/ , $_ , $split_limit ; #use Data::Dumper ; print scalar @F , Dumper [@F];
@F = map { $_ + 1 . ":$F[$_]" } 0 .. $#F if $o{n} ; # -n ã§åçªå·ãã³ãã³ãä»ãã¦åºå
push @F , $emp ; # $F[-1] ã§åç
§ãã
print join ( "$osep" , @F [ @{ sCols $#F } ] ) , "\n" ;
}
# main
sub main {
binmode STDOUT ,":utf8" if $isep eq '' ; # æååä½ã§å¦çããå ´åãutf8ã¨ãã¦ã®æ±ããããã
# ä¸è¡ç®ã㤠-= ãæå®ãããå ´åã®å¦ç
scripts/csv2tsv view on Meta::CPAN
}
}
# ã¨ã©ã¼å¦ç (Text::CSV_XS ã®ã¨ã©ã¼å¦ç) , ãã®ããã°ã©ã ã®å¤æ°ã®ä½¿ãæ¹ãçç±ã§ããã®ä½ç½®ã«ENDãç½®ããã
END {
#exit if $o{'~'} ;
exit if ! defined $csv ;
my @tmp = $csv -> error_diag () ; # ($cde, $str, $pos, $rec, $fld) = $csv->error_diag ();
if ( $tmp[0] != 2012 ) { # perldoc Text::CSV_XS ã§ 2012Â ãåç
§ãEOFãæå³ããã
print STDERR BRIGHT_RED join (":",@tmp),"\n" ;
print STDERR ON_BRIGHT_RED BLACK "_ERROR_INPUT at line $.: " ;
#use Data::Dumper ; #print STDERR UNDERLINE Dumper $csv ;
print STDERR UNDERLINE BRIGHT_RED $csv ->{_ERROR_INPUT} ;
exit 1 ;
}
}
}
## ãã«ãã¨ãã¼ã¸ã§ã³æ
å ±
BEGIN {
our $VERSION = 0.56 ;
$Getopt::Std::STANDARD_HELP_VERSION = 1 ;
( run in 0.239 second using v1.01-cache-2.11-cpan-4d50c553e7e )