我想知道为什么
use warnings;
use strict;
Run Code Online (Sandbox Code Playgroud)
在Perl中不是默认值.每个脚本都需要它们.如果某人(有充分理由)需要禁用它们,则应使用no strict和/或使用某些命令行参数(对于单行).
是否有太多写得不好的CPAN模块(使用"糟糕"表示没有use strict)?或者是因为这会破坏生产中的许多代码?我确信有理由,我想知道.
5.14 IO::File是按需自动加载的,不可能用这些基本的pragma做类似的事情吗?
我有一个哈希数组,我想将其转换为一个未命名的JSON数组。
如果我有一个哈希数组,然后尝试将其编码为JSON:
my @labs = ();
push (@labs, {id=>'1', title=>'Lab1'});
push (@labs, {id=>'2', title=>'Lab2'});
my $json_text = to_json {\@labs}, {ascii=>1, pretty => 1};
Run Code Online (Sandbox Code Playgroud)
然后生成的JSON如下所示:
{
"ARRAY(0x358a18)" : null
}
Run Code Online (Sandbox Code Playgroud)
实际上,我希望它看起来像:
[
{"title" : "Lab1", "id" : "1"},
{"title" : "Lab2", "id" : "2"}
]
Run Code Online (Sandbox Code Playgroud)