[英]Can I autobox a single variable in perl?
我正在使用autobox ,因為它允許我在任意變量上使用JSON::Path ,如下所示:
use autobox::JSON::Path;
use Mojo::Util qw/dumper/;
my $w = { foo => 'bar', baz => [ 1, 2, 3 ] };
print dumper $w->get('$.baz');
其中autobox::JSON::Path
在這里(仍然是早期代碼)。
然而,這意味着自動裝箱會影響所有 hashrefs 和 arrayrefs。
有沒有辦法讓它只影響特定的變量? 還是實際上和做的一樣
my $w = autobox::JSON::Path::Get->new({ foo => 'bar', baz => [ 1, 2, 3 ] })
就這樣?
這是一個如何將autobox與JSON::Path結合使用的示例。 您可以將autobox
的使用限制為特定的 scope,因此限制為特定的變量,如下所示:
use strict;
use warnings;
use JSON::Path;
use Mojo::Util qw/dumper/;
sub HASH::get {
my ($hash, $arg) = @_;
my $path = JSON::Path->new($arg);
return $path->get($hash);
}
my $w = { foo => 'bar', baz => [ 1, 2, 3 ] };
{
use autobox;
print dumper $w->get('$.baz');
}
Output :
[
1,
2,
3
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.