Perl 中的 mkdir 调用失败
我正在尝试使用 Perl 创建一个目录。但是这个调用失败了。 但是,当我尝试在 shell 提示符中创建相同的目录结构时,它工作正常。 有人可以告诉我为什么我无法在目录结构中创建目录吗? 示例:
$absolutepath = "/localdatafs1/Domino/mail\abhy.nsf/Sent/Metadata";
print $absolutepath."\n";
mkdir "$absolutepath" or die $!;
在此示例中,localdatafs1
、Domino
、mail\abhy.nsf
和 Sent
是已经存在的目录存在。我想使用 Perl 在目录结构 /localdatafs1/Domino/mail\abhy.nsf/Sent/Metadata
中创建一个名为 metadata
的目录。此 mkdir 调用失败。
如果我在 shell 提示符下执行命令
mkdir /localdatafs1/Domino/mail\abhy.nsf/Sent/Metadata
,目录就会成功创建。
为什么我无法使用上述路径在 Perl 中创建目录?
I am trying to create a directory using Perl. But this call fails.
However when I try to create the same directory structure in shell prompt, it works fine.
Could someone please let me know why I am not able to create the directory in the directory structure?
Example:
$absolutepath = "/localdatafs1/Domino/mail\abhy.nsf/Sent/Metadata";
print $absolutepath."\n";
mkdir "$absolutepath" or die $!;
In this example, localdatafs1
, Domino
, mail\abhy.nsf
, and Sent
are directories that already exist. I want to create a directory called metadata
in the directory structure /localdatafs1/Domino/mail\abhy.nsf/Sent/Metadata
using Perl. This mkdir call fails.
If I execute the command
mkdir /localdatafs1/Domino/mail\abhy.nsf/Sent/Metadata
in shell prompt, the directory gets created successfully.
Why I am unable to create the directory in Perl using the above path?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你的 shell 理解的语言与 Perl 不同。在 shell 中,代码
生成字符串
在 Perl 中,代码
生成字符串,
其中
?
表示不可打印的控制字符。 Perl 代码生成所需的字符串。请注意转义的“
\
”。Your shell understands a different language than Perl. In your shell, the code
produces the string
In Perl, the code
produces the string
where the
?
represents a non-printable control character. The Perl codeproduces the desired string. Note the escaped "
\
".