Perl で小ハマリ。ヒトのデバッグを手伝ってたのだが。
典型的な例。
#!/usr/bin/perl `touch test.txt`; my $f = "test.txt\r"; open IN, "< $f" or die $!; # 成功する。 (-e $f) or die $!; # 失敗する。
ファイル名として与える文字列の末尾に "\r" (CR) が付いている場合、open は成功するけどファイルテスト演算子は失敗する。
まあ、CR+LFな改行コードのテキストファイルを扱う可能性があるのに、ただ chomp するようなコーディングをしてたのが最大の問題。
問題意識・・・じゃなくて想像力と知識が足りないから、そういう雑なことをする。
# 病は深い。
...
近所のセブンイレブンから、IL MASSO Chianti Classico (¥1,200 のワイン)が消えた。 代わりに¥398のワインが置いてある。 むう。確かにコンビニで¥1,200のワイン、てのは結構高価だし、あまり売れなかったのかもしれんが・・・ まともな味がしたから重宝してたのに。無念。