Re: use encoding 'shiftjis'; の不可解な振る舞い
畑です。
> use encoding 'shiftjis' を付加し実行すると $new の末尾に
> 0x0D が 付いているようです。 rename に or warn $! を付加し
> た所、
>
> Permission denied at t.pl line 16, <STDIN> line 3.
>
> のようなメッセージが表示されました。
rename() ではなく以下のように sysytem() で DOS コマンドの ren に渡すと
“とりあえず”上手く行きました(それでも潜在的に $! は出ているようなんです
が)。
#!/perl/bin/perl -w
use 5.008;
use strict;
use warnings;
use encoding 'shiftjis';
print 'Old pattern: ';
chomp(my $opat = <STDIN>);
print 'New pattern: ';
chomp(my $npat = <STDIN>);
print 'Starting #: ';
chomp(my $i = <STDIN>);
my @flist = glob($opat);
foreach my $old (@flist) {
my $new = sprintf($npat, $i++);
print "Renaming $old --> $new\n";
system('ren', $old, $new);
}
print "Done.\n";
__END__
> 関係ありませんが、ポストされた記事が
>>Win98SE で、ActivePerl 5.8.6 Build 811
>>を使っています。
> のようになっています。
ysk6406@mail.goo.ne.jp さんが Google からポストしているのが原因だと思わ
れます。
氷炎雷光風さんの
<http://www.interq.or.jp/uranus/cuncuku/nihongo/fjapanihon_words.html#google>
という文書あたりを参考にしてみるといいと思います(> ysk6406 さん)。
--
Masanori HATA
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735