ひまつぶし雑記帖

日本語ディレクトリ名で吐血

2019/5/3 [20:49:02] (金) 天気

今さら、ハマったんでメモしておこう。

perl の ファイルテスト演算子 -d とかディレクトリを開くopendir()でディレクトリとして認識してくれず、そのディレクトリだけ見えない状態だった。

WINDOWS10で、ActivePerl。
日本語のディレクトリ名で、たぶんこいつだろう、という見当はついていた。

「―」←こいつ。
utf16 2015
utf8  E28095
euc   A1BD
shiftjis 815c

罫線というか日本語のダーシ?ダッシュ?に使われる記号。

↓グーグル様を駆け巡ってたどり着いたのがこちら
https://nomenclator.la.coocan.jp/perl/shiftjis.htm
「Shift-JISテキストを正しく扱う」
助かりました。ありがとうございます。

「―」はshiftjisだと「815c」で、この「\x5c」がファイル名やパスの末尾にあるとperlはうまく扱えない、らしい。

回避するには
ディレクトリ名の末尾に「'/.'」path区切りをつけてカレントディレクトリのピリオドをつける。苦肉の策ではあるけど、これで無事ディレクトリを辿ることができた。

具体的には
-d dirname
てなことやってたところを
-d dirname . '/.'
などとやって無事perlからディレクトリが見えるようになった。
(再帰的にディレクトリを辿るサブルーチンにさっそく採用させていただいた)

ディレクトリ名に日本語を使いたくはないんだけど、仕様で必要とされるケースがあるので、しかたなく。
にしても、ほんと今さらなトラップに仰け反ったぞ。ほんとびっくりした。

image 

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ため池

[2024/09/19 00:02]
ファイル同期のためのrsyncで使うオプション::ひまつぶし雑記帖
https://t2aki.doncha.net/?id=1726670782

unix系ツールの例に漏れず、rsyncもオプションが豊富ですぐにわけわからなくなってるんで、自分の使う範囲のオプションをメモ。

[2024/09/18 19:03]
お昼ご飯に食べた唐揚げ3個でお腹いっぱいなもんで、夜ご飯はカップ麺にした。
唐揚げ3個で…これが老人。

このセイコーマートの山わさび塩ラーメンは爽やかなわさびの辛さが鼻につんとぬける塩ラーメン。勢いよくすすると危険だけど、そこさえ気をつければさっぱりと美味かった。
https://online.seicomart.co.jp/delivery/goods_list/goods_list_3.php?o_no=720700000001&srsltid=AfmBOop99J-HoK0ND_ ...

[2024/09/18 18:55]
あと。POSもクリティカルだったと思ってて。売れているものを売れている間にもっとたくさん売るためのシステム。大量生産大量消費の商品にはめっちゃ有効らしいんだけど。出版というか本は、超多品種でひとつひとつが小ロット。それを発売3日〜1 ...

@t2aki@tokoroten.doncha.net

検索
<<2019/05>>
   1234
567891011
12131415161718
19202122232425
262728293031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版