对于某些 Perl 诊断测试,我使用 JSON::MaybeXS 记录格式化为 JSON 的各种信息。
当我想记录当前的 Perl 版本(从特殊变量 $^V 获取)时,出现错误。
正如最小的演示脚本所示,除非我将 $^V 引用为“$^V”,否则会发生错误。
#!/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)