1

我正在尝试打开一个路径包含空间的文件,例如:

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

ccperl在 Windows 上工作,我收到一个错误"can't open file"

我已经尝试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;

与您所做的不同之处在于我使用了单引号'。在它们内部,反斜杠\不被视为元字符,因此无需转义它。您也不需要转义空格。你应该试试看。


附带说明一下,您使用的是strictandwarnings吗?他们可能会告诉你哪里出了问题,以及我的or die $!能力。

我还建议您使用和词法文件句柄三个参数形式open

于 2012-09-27T07:44:47.133 回答
1

这个矩阵中,ccperl 通常表示带有 ClearCase 的 perl 5.8.6。

ccperl脚本示例建议:"\"your file path\"",但这可能与open.

于 2012-09-27T08:05:12.417 回答