App-1234567891
view release on metacpan or search on metacpan
#!/usr/bin/perl
use 5.014 ; use warnings ;
use Getopt::Std ; getopts 'd:f' , \my %o ;
use FindBin qw[ $Script ] ;
use utf8 ;
use Scalar::Util qw[ looks_like_number ] ;
$ARGV[0] //= 20 ;
$o{d} //= 1 ;
my $bk = ( $o{f} ? 'ã' :' ' ) x $o{d} ; # ç©ºç½æåã $o{d}åé£çµããã å
¨è§ç©ºç½ã¨åè§ç©ºç½ãå·¦ã«æ¸ããã
my ($n1,$n2) = $ARGV[0] =~ m/(\d+)-(\d+)/ ? ($1,$2) : exists $ARGV[1] ? @ARGV : (1,$ARGV[0]) ;
exit if map {say "'$_' seems not a number."} grep { ! looks_like_number $_ } ($n1,$n2) ;
my $out = '' ;
for ( $n1 .. $n2 ) {
my $c = s/0{$o{d},}$//ro =~ s/^$/0/ro ; # ææ«ã®1å以ä¸ã®0ãé¤å»ãã¦ããããå
¨é¨æ¶ããã0ã«ããã
$c = substr $bk . $c , -$o{d} , $o{d} ;
$c =~ y/0123456789 /ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ã/ if $o{f} ;
$out .= $c ;
}
binmode STDOUT, ":utf8" ;
say $out ;
exit ;
no utf8 ;
## ãã«ãã®æ±ã
sub VERSION_MESSAGE {}
sub HELP_MESSAGE {
use FindBin qw[ $Script ] ;
$ARGV[1] //= '' ;
open my $FH , '<' , $0 ;
while(<$FH>){
s/\$0/$Script/g ;
print $_ if s/^=head1// .. s/^=cut// and $ARGV[1] =~ /^o(p(t(i(o(ns?)?)?)?)?)?$/i ? m/^\s+\-/ : 1;
}
close $FH ;
exit 0 ;
}
=encoding utf8
=head1 1234567891
1234567891 N2
1234567891 N1 N2
N2 ã¾ã§ã«ç¸å½ããæ°ãçæãã¦ãééãªã1æ¡ãã¤ä¸¦ã¹ããä¸ä½ã®æåã0ãªã0ã§ãªãæãå³ã®æ°ãåãåºãã
N1 㨠N2 ã¯ãæåã®æ°å¤ 㨠æå¾ã®æ°å¤ã§ãããè² ã®æ°ãä¸ãã¦ãè¯ã(ãªãã·ã§ã³æå®ã¨è¦ãªãããªã工夫ãå¿
è¦)ã
使ç¨ä¾ :
1234567891 15 # "123456789112345" ãåºåã
1234567891 -d 4 # " 1 2 3 4 5 6 7 8 9 10" ãåºåã
1234567891 ' -12' 12 # "2119876543210123456789112" ; ãã¤ãã¹è¨å·ã¯ããªãã·ã§ã³ã¨èªèãããªã工夫ãè¦ããã
ãªãã·ã§ã³ :
-d N : æªæå®ã ã¨1ã¨è¦ãªããNæ¡ãã¤ä¸¦ã¹ãã(Næ¡æªæºã®æ°ã¯å³å¯ã) digits
-f : å
¨è§æå(fullwidth)ã®æ°åãåºåããã
--help : ãã®ãªã³ã©ã¤ã³ãã«ãã®æé¢ã表示ããã
=cut
( run in 0.633 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )