相关疑难解决方法(0)

如何在Perl中将简单哈希转换为json?

我正在使用以下代码来编码一个简单的哈希

use JSON;

my $name = "test";
my $type = "A";
my $data = "1.1.1.1";
my $ttl  = 84600;

@rec_hash = ('name'=>$name, 'type'=>$type,'data'=>$data,'ttl'=>$ttl);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

hash- or arrayref expected <not a simple scalar, use allow_nonref to allow this>
Run Code Online (Sandbox Code Playgroud)

perl hash encoding json utf-8

29
推荐指数
1
解决办法
5万
查看次数

编写持久的perl脚本

我正在尝试编写持久/缓存脚本.代码看起来像这样:

...
Memoize('process_fille');
print process_file($ARGV[0]);
...
sub process_file{
    my $filename = shift;
    my ($a, $b, $c) = extract_values_from_file($filename);
    if (exists $my_hash{$a}{$b}{$c}){
        return $my_hash{$a}{$b}{$c};
    }
    return $default;
}
Run Code Online (Sandbox Code Playgroud)

这将从循环中的shell脚本调用,如下所示

value=`perl my_script.pl`;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以调用这个脚本,以保持其状态.从打电话到打电话.让我们假设初始化'%my_hash'和调用extract_values_from_file都是一项昂贵的操作.

谢谢

unix linux bash perl

4
推荐指数
2
解决办法
1111
查看次数

标签 统计

perl ×2

bash ×1

encoding ×1

hash ×1

json ×1

linux ×1

unix ×1

utf-8 ×1