perl - 如何使用 Perl 的本地时间和 print 来获取时间戳?

标签 perl built-in

我使用以下语句来获取当前时间。

  print "$query executed successfully at ",localtime;
  print "$query executed successfully at ",(localtime);
  print "$query executed successfully at ".(localtime);

输出

 executed successfully at 355516731103960
 executed successfully at 355516731103960
 executed successfully at Wed Apr  7 16:55:35 2010

前两条语句不以日期格式打印当前时间。 第三条语句仅以日期格式提供正确的输出。

我的理解是第一个是在标量上下文中返回一个值,因此它返回数字。

然后在第二个打印中,我仅在列表上下文中使用本地时间,为什么它也给出数字输出。

最佳答案

也许在 Perl 编程中你可以学到的最重要的东西就是上下文。许多内置子例程和运算符的行为因上下文而异。

print "$query executed successfully at ", localtime, "\n"; # list context
print "$query executed successfully at ",(localtime),"\n"; # list context
print "$query executed successfully at ". localtime, "\n"; # scalar context
print "$query executed successfully at ".(localtime),"\n"; # scalar context

print "$query executed successfully at ", scalar  localtime, "\n"; # scalar context
print "$query executed successfully at ", scalar (localtime),"\n"; # scalar context

通过拆分语句可以使这一点更加清晰。

my $time = localtime; # scalar context
print "$query executed successfully at $time\n";

my @time = localtime; # list context
print "$query executed successfully at @time\n";

关于perl - 如何使用 Perl 的本地时间和 print 来获取时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2591995/

相关文章:

perl - 在 post 方法、perl、 Mechanize 、重定向后保存 cookie

arrays - 大型 Bash 数组或注销终止

perl - 如何处理 Perl 中方法链中的错误?

python - 在 Python 中合并两个对象

python - 我正在使用递归来测试一个单词是否是回文。回文是向后相同的单词,例如 : race car

gcc - 如何在不让 gcc 到处插入其他 BMI2 指令的情况下使用 __bzhi_uxx 内在函数?

python - 为什么删除名为 __builtins__ 的全局变量只会阻止 REPL 访问内置函数?

perl - Perl 中的位操作

regex - grep 可以只打印匹配的缓冲区吗?

java - 如何在 Java/Swing 中实现内置编译器?