我正在尝试打开一个包含空格的文件,比如说:
open(FILE, "some\\path with spaces")
我在Windows上使用ccperl
,我收到错误“无法打开文件”。
我已经尝试q!"..."!
尝试了"\path\ with\ spaces"
以及更多......
有什么想法吗?
答案 0 :(得分: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 $!
可能。
我还建议您使用open
和three argument form的lexical filehandles。
答案 1 :(得分:1)
从this matrix开始,ccperl通常意味着带有ClearCase的perl 5.8.6。
ccperl scripts examples建议:"\"your file path\""
,但可能与open
不兼容。