encodingがあるとダメなのか?

Perlのお話です。

use strict;

my $DIRNUM = 1000;              # フォルダの数
my $name = ;             # 標準入力から読み取る
chomp($name);                   # 改行を取り除く
my $dir = $name;                # フォルダ名にセット
mkdir($dir,0755);
chdir($dir);                    # 中に入って
for(my $i = 1; $i <= $DIRNUM; $i++) {
    my $dname = sprintf("%s_%04d",$dir, $i);  # 連番作成
    mkdir($dname, 0755);                      # 再度作成
}
print("終了\n");                # 終了

ではおっけ―なのに、先頭に

use encoding "cp932";

をつけて、

use encoding "cp932";
use strict;

my $DIRNUM = 1000;              # フォルダの数
my $name = ;             # 標準入力から読み取る
chomp($name);                   # 改行を取り除く
my $dir = $name;                # フォルダ名にセット
mkdir($dir,0755);
chdir($dir);                    # 中に入って
for(my $i = 1; $i <= $DIRNUM; $i++) {
    my $dname = sprintf("%s_%04d",$dir, $i);  # 連番作成
    mkdir($dname, 0755);                      # 再度作成
}
print("終了\n");                # 終了

とするとうまく行かない。何か指定が足りないような感じがするけれど。ちなみにPerlのバージョンは、

This is perl, v5.8.4 built for MSWin32-x86-multi-thread

Binary build 810

ま、まったく困らないから上のスクリプトで良いや。(encodingがからんでいる事に気づくのに30分かかったけど)