我编写了一个Perl脚本来从配置文件中获取特定信息
use Time::localtime;
my $date_string = ctime(stat($filepath)->mtime);
print "$date_string\t";
上面的代码打印了文件的最后修改时间和日期,但问题是我无法使用以下函数打印报告生成时间
my $time = localtime; # scalar context
print "executed successfully at $time\n";
我收到以下错误
executed successfully at Time::tm=ARRAY(0x336e048)
答案 0 :(得分:2)
Time::localtime
模块默认导出覆盖核心localtime()函数,将其替换为返回" Time :: tm"对象
因此,如果您想使用核心Perl localtime,请按以下方式编写:
my $time = CORE::localtime;
答案 1 :(得分:1)
在您的代码中,您将获得对数组的引用。因此打印参考。
使用
my $time = scalar(CORE::localtime); # scalar context
您可以找到scalar
<{1}}功能的更多信息here
描述
此功能强制评估EXPR 标量上下文,即使它通常在列表上下文中工作。语法 以下是此函数的简单语法:标量 EXPR返回值 此函数返回标量