|
Windowsでも、ついついUNIX感覚でglobを使ってしまう。 パスにスペース文字が含まれてさえいなければ、まあまあ正しく動く。 たとえば、手元のWindowsで次のプログラムを実行すると、 print $_,"\n" for (<c:\\*.*>); 次のような結果になる。 c:\$Recycle.Bin しかし、c:\Program Filesの中なんで見ようと思って次のプログラムを実行すると print $_,"\n" for (<c:\\Program Files\\*>); こんな風になってしまう。 c:./Program 明らかに Program というフォルダを探している。 この件については次の方法を使う手もあるが…
しかし、少々複雑である。 CPANかPPMが使えるならFile::Glob::Windowsをインストールしたほうがいい。 CPANが使えるなら cpan File::Glob::Windows ActivePerlならppmで ppm install File-Glob-Windows では、先ほどのプログラムに1行、加えてみる use File::Glob::Windows; 結果はこのとおり c:\Program Files\. すばらしいことに、$File::Glob::Windows::encodingをつかえば現在のコードページも取得できるので日本語でも韓国語でもUTF8変換していろいろできる。 たていすさん、ありがとう!( http://d.hatena.ne.jp/tateisu/20081108/1226127780) |
| << 前記事(2009/06/23) | ブログのトップへ | 後記事(2009/07/03) >> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2009/06/23) | ブログのトップへ | 後記事(2009/07/03) >> |