imk*_*ort 4 perl strawberry-perl
我对Perl很新,所以请原谅我这个问题是微不足道的.
在工作中,我有一个创建脚本的任务,当其他开发人员错过任务的截止日期时,该脚本将发送电子邮件.整个事情必须在Windows上运行,使用Strawberry Perl,我使用windows命令date /T来执行日期检查.我使用反引号运算符调用了很多外部命令,但在这种特殊情况下,反引号不起作用:
my $date = `date /T`;
Run Code Online (Sandbox Code Playgroud)
输出:
date: invalid date `/T'
Run Code Online (Sandbox Code Playgroud)
固定使用一些额外的报价:
my $date = `"date /T"`
Run Code Online (Sandbox Code Playgroud)
输出:
Mon 07/07/2014
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么?
如果使用反引号的其他外部调用将起作用,我会得到它,但这是我必须以这种方式调用的唯一一个,以使其工作.
你似乎不小心使用了Cygwin/GnuTools版本date.
在Windows命令提示符下,date /T提供当前时间.
这不是可执行文件,这是一个命令.
但是,date /T在Cygwin/GnuTools环境下运行会给出date: invalid date '/T'.
这是因为环境1)无法看到Windows date 命令,2)在其环境变量中找到date 可执行文件PATH并改为运行它.