1

パスにスペースが含まれているファイルを開こうとしています。たとえば、次のようになります。

open(FILE, "some\\path with spaces")

Windowsで作業していますが、 「ファイルを開けません」ccperlというエラーが表示されます。

私はすでに試してq!"..."!みましたが"\path\ with\ spaces"、もっとたくさん...

何か案が?

4

2 に答える 2

2

どれどれ。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

于 2012-09-27T07:44:47.133 に答える
1

このマトリックスから、ccperlは通常、ClearCaseを使用したperl5.8.6を意味します。

ccperlスクリプトの例は、次のことを示唆し"\"your file path\""ていますが、それはと互換性がない可能性がありopenます。

于 2012-09-27T08:05:12.417 に答える