我正在尝试使用WebShpere中的Perl更改工作目录(用于配置Perl队列管理器)。
我必须转到目录/var/mqm/qmgrs/Q\!MAN,我使用了以下代码片段:
$QueueManagerPathName = 'Q\!MAN';
chdir('/var/mqm/qmgrs/'.$QueueManagerPathName) or die "Cannot change to dir : /var/mqm/qmgrs/".$QueueManagerPathName."\n";但它不会更改目录,并且会给出
Cannot change to dir : /var/mqm/qmgrs/Q\!MAN当我删除变量$QueueManagerPathName时,它工作得很好,并且得出结论说使用"\!"部件是错误的。
发布于 2011-10-24 20:16:13
您不需要在目录名中转义!。这应该是可行的:
my $dir = '/var/mqm/qmgrs/Q!MAN';
chdir $dir or die "Can't cd to $dir: $!\n";发布于 2011-10-24 20:12:07
单引号字符串不能插入反斜杠,因此您尝试切换到名为/var/mqm/qmgrs/Q!MAN的目录
要么省略反斜杠,要么使用双引号字符串。
发布于 2011-10-24 20:10:59
你的变量中有一个反斜杠...我要说的是你做了很多逃避的事情。
https://stackoverflow.com/questions/7875323
复制相似问题