パスワードを忘れた? アカウント作成
940831 journal
Perl

sumiyakiの日記: Perlのopenで"-|"や"|-"を使う話 1

日記 by sumiyaki

Perlのopenに関連して、シェルの渡す特殊記号をエスケープする件について、皆様からコメントをいただきました。ありがとうございました。特にkr氏からはこのコメントにて安全にopenする方法を教えていただきました。大変参考になりました。

この方法について調べてみると、
perl - open my $fh, "comand |"; # はモダンじゃないとか
安全なパイプオープンなどが参考になりました。

Perl 5.8以降は
pen(MD,"-|",ls,"-l","file");
のようにコマンドの引数はリストとして与えることができる。

弾さんの記事には
「書き込むときには'-|',読み込むときには'|-'を」
とあるが逆じゃないかな。

おまけ、
test\
というファイルがあるとすると、
md5sum test\\
とすると、
\d41d8cd98f00b204e9800998ecf8427e test\\
となる(Ubuntu 11.10)。これもちょっとおかしいのかも。どうでもよいことだけど。まあ、スペースのあるファイル名くらいは普通だとしても\とかの入ったファイル名のファイルはかなり普通ではないような。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Digest::MD5を使うとか。出力をparseする必要もなくなるし。
    > コマンドの引数はリストとして与えることができる。
    Windowsではこの形式をサポートしていない。まあWindowsで動かす予定がないならmd5sum使っていようがリスト形式の引数でパイプオープン使っていようがかまわないけど。

typodupeerror

アレゲは一日にしてならず -- アレゲ研究家

読み込み中...