App-12567834
view release on metacpan or search on metacpan
$o{c} //= 100 ; # ããã¼ã¸æå®ãå仿大æååé·ã
$o{b} //= 1 ;
# å
¥åãã¡ã¤ã«ããããAdobeçæãããã¨ãã«ããã¼ã¸ãµã¤ãºã¨å¦çãã§ãè¤æ°ãã®æå®ãåãããã¨ã ã£ãã¨ãã«
# 2ã 4ãªã©ã®é©åãªå¤(1æè¾ºãã®å
ã®ãã¼ã¸æ°)ãæå®ãã
my $p1 ; # å
ã®PDFãã¡ã¤ã«ã®æåã®ãã¼ã¸çªå·
my $p2 ; # å
ã®PDFãã¡ã¤ã«ã®æå¾ã®ãã¼ã¸çªå·
my $p2a ; # $p2+1 以ä¸ã®ã $p2a - $p1 ã4ã®åæ°ã¨ãªãæå¤§ã®æ°ã
# ã³ãã³ã弿°ãããä¸ãæ¹ã«å¿ãã¦3éãã«ããã¼ã¸æ°ã®æåã¨æå¾ãåãåºãã
($p1,$p2) = $ARGV[0] =~ m/(.*)(-|\.\.)(.*)/ ? ($1,$3) : exists $ARGV[1] ? @ARGV : (1,$ARGV[0]) ;
exit if map {say "'$_' seems not a numbper."} grep { ! looks_like_number $_ } ($p1,$p2) ;
exit if $p1 > $p2 && say "'$p1 <= $p2' does not hold." ;
# æå¾ã«åºåããç´ã®å¦ç ããã³ åºåææ°ã®ç®åº
my $pr = ($p2-$p1+1) % 4 ; # reminder ä½ã
$p2a = $p2 - $pr + 1 ;
my $q = ($p2a-$p1) / 4 ;
my @P0 = () ;
my @P1 = () ;
sub M ($) ;
* M = ($o{b} // 1 ) eq 1 ? sub ($) { $_[0] } : sub ($) { ( $_[0] - 1 ) * $o{b} + 1 } ;
* con = $o{','} ? sub { map { M $_ } $_[0] .. $_[1] } : sub { ( M $_[0] ) . '-' . ( M $_[1] ) } ; # 颿°ãå®ç¾©ã-ã§ã¤ãªãããã,ã§ã¤ãªããã
* con2 = sub { $p2a < $p2 ? join "," , con ($p2a,$p2) : "$p2" } ;
if ( $o{p} ) {
my @P ;
my $out = "pdftk INPUT.pdf cat " ;
$p=$p1-1;splice @P,@P/2,0,$p+1..($p+=4)for 1..$q;$out .= join" ",@P ;
$out .= " output OUTPUT.pdf" ;
say $out ;
print "# Page " . con2($p2a, $p2) . " has not contained above." if $pr ;
say "# The above contains " . length ($out) . " characters." ;
$o{2}//= 0 ;
exit ;
}
say CYAN + (map { join '', 1..9,($_% 10 ) } ( 1..$o{c}/10) ) , 1..$o{c} % 10 if ($o{2}//'')ne"0"; # æååé·ãã®å®è¦
for ( 1 .. $q ) {
@P0 = @P1 ;
splice @P0 , @P0/2 , 0 , con($p,$p+3) ; # $p . "-" . ($p+3) ; # 試ãã«1度ã«4ãã¼ã¸æ¿å
¥ã
if ( length ( $o0 = join "," , @P0 ) > $o{c} )
{ say $o1 ; $o0 = '' ; @P1 = () ; @P0 = con($p,$p+3) ; $L++ } ; # é·ããããåºåã
splice @P1 , @P1/2 , 0 , con($p++,$p++) , con($p++,$p++) ;
$o1 = $o0 ;
}
do { say join "," , @P0 ; $L ++ } if @P0 ;
#print $p2a < $p2 ? (join",",con($p2a,$p2))."\n" : $p2a == $p2 ? "$p2\n" : '' ; # æå¾ã®ãã¼ã¸ã®åºåã4ã®åæ°ãå¦ãã1æã ããå¦ãã«ããã3éãã«åããã
#print $p2a > $p2 ? '' : con2 ( $p2a , $p2 ) . "\n" ;
$L ++ and say con2($p2a,$p2) if $pr ;
exit ;
END {
exit if ($o{2}//'') eq "0" ;
my $procsec = sprintf "%.5f", tv_interval ${ dt_start } ; #time - $time0 ; # ãã®ããã°ã©ã ã®å¦çã«ããã£ãç§æ°ãæ¯è¼ãã2åã®æå»ã¯ç§åä½ãªã®ã§ã±1ç§æªæºã®èª¤å·®ã¯çºçããã
my $s = tv_interval $dt_start , [ gettimeofday ] ;
say STDERR BOLD FAINT ITALIC " -- $Script ; " . $procsec . " seconds in process. " . $L. " lines output." ;
}
## ãã«ãã®æ±ã
sub VERSION_MESSAGE {}
sub HELP_MESSAGE {
use FindBin qw[ $Script ] ;
$ARGV[1] //= '' ;
open my $FH , '<' , $0 ;
while(<$FH>){
s/\$0/$Script/g ;
( run in 1.820 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )