作者: 藤岡和夫
日時: 2008/1/13(14:22)
On Sun, 13 Jan 2008 01:24:38 +0900
藤岡和夫 <kazuf@...> wrote:

> スクリプトはUTF-8で書いて、ディレクトリ名は必要であれば、スクリプト外部
> からSJISのまま読み込むか、スクリプト内部ならUTF-8をSJISに変換して、さら
> に\をエスケープして渡すようなことをする必要があるでしょう。そのような面
> 倒なことをするなら、SJISのディレクトリ名は使わない方が賢明ということにな
> るでしょうね。

 試さずに書いただけなのでフォロー^^;)

 結局、ファイル内部に書くのはどのように書けばいいのかよくわかりませんで
した^^;

 単純に、例えば、

$dir = "C:/Scripts/Perl/ソ\レイユ";

のようにすれば可能ですけど。

 ファイル外部に、SJISコードを含むディレクトリ名を書いたテキストファイル
を置いて読み込むのはうまく動きました。

open(IN, "dir.txt");
while(<IN>){
	chomp;
	$dir = $_;
}
close(IN);
chdir($dir);
opendir(DIR, $dir) || die "can't opendir $dir: $!";
    @files = grep {-f "$dir/$_" } readdir(DIR);
closedir DIR;
print $dir,":",join(" ",@files);

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html