パスにスペースが含まれているファイルを開こうとしています。たとえば、次のようになります。
open(FILE, "some\\path with spaces")
Windowsで作業していますが、 「ファイルを開けません」ccperl
というエラーが表示されます。
私はすでに試してq!"..."!
みましたが"\path\ with\ spaces"
、もっとたくさん...
何か案が?
どれどれ。ActivePerl 5.14.2では、次のことができます。これは機能します。
#!C:\perl\bin\perl.exe
use strict; use warnings;
open my $fh, '<', 'C:\Dokumente und Einstellungen\user\Desktop\file spaces.txt'
or die $!;
print while <$fh>;
close $fh;
あなたがしたこととの違いは、私が一重引用符を使用したことです'
。それらの内部では、バックスラッシュ\
はメタ文字として表示されないため、エスケープする必要はありません。また、スペースをエスケープする必要はありません。あなたはそれを試してみるべきです。
ちなみに、とを使用strict
していwarnings
ますか?彼らは私の力と同様に何が悪いのかをあなたに言うor die $!
かもしれません。
また、字句ファイルハンドルの3つの引数形式を使用することをお勧めします。open
このマトリックスから、ccperlは通常、ClearCaseを使用したperl5.8.6を意味します。
ccperlスクリプトの例は、次のことを示唆し"\"your file path\""
ていますが、それはと互換性がない可能性がありopen
ます。