gpt4 book ai didi

perl - 为什么 Perl 中的反引号操作符在 Windows 上没有引号就不能工作?

转载 作者:行者123 更新时间:2023-12-05 01:03:32 25 4
gpt4 key购买 nike

我对 Perl 还很陌生,所以如果问题不重要,请原谅我。

在工作中,我接到了一项任务,要创建一个脚本,当其他开发人员错过任务的截止日期时,该脚本会发送电子邮件。整个事情都必须在 Windows 上运行,使用 Strawberry Perl,我使用了 windows 命令 date /T执行日期检查。我使用反引号运算符调用了很多外部命令,但在这种特殊情况下,反引号不起作用:

my $date = `date /T`;

输出:
date: invalid date `/T'

使用一些额外的引号修复:
 my $date = `"date /T"`

输出:
Mon 07/07/2014

我的问题是:为什么会这样?

如果其他带有反引号的外部调用也能正常工作,我会明白这一点,但这是我必须以这种方式调用才能使其工作的唯一方法。

最佳答案

您似乎不小心使用了 date 的 Cygwin/GnuTools 版本.

在 Windows 命令提示符下,date /T给出当前时间。
这不是可执行文件,这是命令。

但是,正在运行 date /T Cygwin/GnuTools 环境下给出 date: invalid date '/T' .
这是因为环境 1) 看不到 Windows date命令和 2) 找到一个 date在他们的 PATH 中可执行环境变量并运行它。

关于perl - 为什么 Perl 中的反引号操作符在 Windows 上没有引号就不能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com