Perl 漬け

晴。
音楽を聴く。■シューマン:森の情景op.82(ル・サージュ、参照)。■ヘンデル:ヴァイオリン・ソナタ ニ長調HWV371、ヘ長調HWV370(アンドルー・マンゼ、リチャード・エガー)。何とも美しい! 古楽器の演奏もここまできたかという感じ。気持ちよくトリップしてくる。


県営プール。
ファイルやフォルダの必要な部分だけ(再帰的に)バックアップするプログラムを、Perl で組む。ファイルのコピーは最初はシステムを呼び出してやろうと思っていたのだが、ファイル名に空白やマイナス記号がある場合、システムのコピーでは上手く行かないことが(散々苦労して)わかる。結局、File::Copy モジュールや File::Copy::Recursive モジュールを使うしかなかったが、後者にはちょっとしたバグがあるようだ(これも何だかわからず、ひどく苦労した)。日本語のファイル名を付けておくと、困ることがあるのがよくわかった。何とか完成。非常に大きいフォルダに使ってみたが、予想以上に上手くいった。ふぅ。(AM3:47)
 それにしても、思っていたより Perl はずっと速い。こうしたファイル操作などは、Perl の得意分野なのかな。Windows のコピーよりも速いくらいに感じる。それに、フォルダ内のどのフォルダ、どのファイルが欠けていてもそこだけバックアップ出来るようにしたから、便利である。自画自賛
 そうそう、再帰サブルーチンを書くのに、$_ 変数はグローバル変数なので、使わないほうがいいことがわかった。これもバグの一因だった。
西脇順三郎を読む。