我想转换对象流:
{
"a": "green",
"b": "white"
}
{
"a": "red",
"c": "purple"
}
Run Code Online (Sandbox Code Playgroud)
成为一个对象:
{
"a": "red",
"b": "white",
"c": "purple"
}
Run Code Online (Sandbox Code Playgroud)
另外,如何将相同的序列包装到数组中?
[
{
"a": "green",
"b": "white"
},
{
"a": "red",
"c": "purple"
}
]
Run Code Online (Sandbox Code Playgroud)
可悲的是,手册严重缺乏全面性,谷歌搜索也没有找到答案.
我有一个要在Perl中处理的多GB文件.逐行读取文件需要几分钟; 通过File :: Slurp将其读入标量需要几秒钟.好.现在,处理标量的每个"线"的最有效方法是什么?我想我应该避免修改标量,例如在处理它时切断每个连续的行,以避免重新分配标量.
我试过这个:
use File::Slurp;
my $file_ref = read_file( '/tmp/tom_timings/tom_timings_15998', scalar_ref => 1 ) ;
for my $line (split /\n/, $$file_ref) {
# process line
}
Run Code Online (Sandbox Code Playgroud)
这是分钟:足够但不是很好.有更快的方法吗?(我的记忆比上帝多.)
我有一个perl脚本,我写了一个非常大的日志文件.目前我用"传统的"Perl方式写出我的文件:
open FILE, ">", 'log.txt';
print FILE $line;
.....
close FILE;
Run Code Online (Sandbox Code Playgroud)
在阅读文件时,我听到了很多关于File :: Slurp的好东西,以及它如何能够大大改善运行时.我的问题是,使用File :: Slurp会更快地写出我的日志文件吗?我问,因为在perl中写出一个文件看起来很简单,我不知道File :: Slurp如何才能真正优化它.
这可能有什么问题?
我试图显示现有文件的内容:
perl -MFile::Slurp -e 'print File::Slurp->read_file("/tmp/001.jpg", { binmode => ":raw" } ) if -e "/tmp/001.jpg"; '
Run Code Online (Sandbox Code Playgroud)
我收到错误:
read_file 'File::Slurp' - sysopen: No such file or directory
Run Code Online (Sandbox Code Playgroud)
该文件存在,print仅执行获取if -e "/tmp/001.jpg"