アカウント名:
パスワード:
皆様、ありがとうごさいました。-fはスペースの入ったファイル名でも問題はありませんでした。
作っていたスクリプトの open (MD5,"md5sum $filename |")のところで、$filenameが"file space"では上手く行かなかったのを-fの問題だと勘違いしました。大変お騒がせ致しました。失礼いたしました。
つまり、"file space"というファイルがあり、$filenameが "file space"の時、-f $filenameはtrueになるが、open (MD5,"md5sum $filename |")ではエラーになるということでした。
$filenameが"file\ space"ならば md5sumでもOK。
すでに自力で答を得ているかもしれませんが御参考までに。
$filename = "file space";open (MD5,"md5sum $filename |");
のような2引数のopenでパイプを作ると次のように動きます。 1. Perlが変数$filenameを展開。("md5sum file space |") 2. Perlが末尾のパイプ記号を見て、残りを/bin/shに渡す。("md5sum file space") 3. /bin/shが文字列を空白で区切る。("md5sum", "file", "space") 4. /bin/shが"md5sum"を探して引数("md5sum", "file", "space")を渡す。 5. md5sumが引数を見て"file"と"space"のMD5を計算しようとする。
Perlが/bin/sh経由でmd5sumを実行するので、 空白に限らず、/bi
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
すいません勘違いでした。問題だったのはmd5sumでした (スコア:1)
皆様、ありがとうごさいました。
-fはスペースの入ったファイル名でも問題はありませんでした。
作っていたスクリプトの
open (MD5,"md5sum $filename |")
のところで、$filenameが"file space"では上手く行かなかったのを-fの問題だと勘違いしました。大変お騒がせ致しました。失礼いたしました。
つまり、
"file space"というファイルがあり、
$filenameが "file space"の時、
-f $filenameはtrueになるが、
open (MD5,"md5sum $filename |")
ではエラーになるということでした。
$filenameが"file\ space"ならば md5sumでもOK。
Re: (スコア:1)
すでに自力で答を得ているかもしれませんが御参考までに。
のような2引数のopenでパイプを作ると次のように動きます。
1. Perlが変数$filenameを展開。("md5sum file space |")
2. Perlが末尾のパイプ記号を見て、残りを/bin/shに渡す。("md5sum file space")
3. /bin/shが文字列を空白で区切る。("md5sum", "file", "space")
4. /bin/shが"md5sum"を探して引数("md5sum", "file", "space")を渡す。
5. md5sumが引数を見て"file"と"space"のMD5を計算しようとする。
Perlが/bin/sh経由でmd5sumを実行するので、 空白に限らず、/bi
Re:すいません勘違いでした。問題だったのはmd5sumでした (スコア:1)