小编Bru*_*len的帖子

为什么JSON编码需要引用Perl版本字符串?

对于某些 Perl 诊断测试,我使用 JSON::MaybeXS 记录格式化为 JSON 的各种信息。

当我想记录当前的 Perl 版本(从特殊变量 $^V 获取)时,出现错误。

正如最小的演示脚本所示,除非我将 $^V 引用为“$^V”,否则会发生错误。

json_perl_version_test.pl

#!/usr/bin/env perl

use strict;
use warnings;
use v5.18;

use JSON::MaybeXS;

say "Running Perl version $^V";

my $item    = 'Wut?';

my %hash1   = (
    something   => $item,
    v_unquoted => $^V
);
eval { say say 'Hash1: ', encode_json \%hash1 };
say "Oops - JSON encode error: $@" if $@;

my %hash2   = (
    something   => $item,
    v_quoted => "$^V"
);
say 'Hash2: ', encode_json \%hash2; …
Run Code Online (Sandbox Code Playgroud)

oop perl json

2
推荐指数
1
解决办法
163
查看次数

标签 统计

json ×1

oop ×1

perl ×1