このPerlスクリプトを実行すると:
#!/bin/perl
use XML::Bare;
$ob = new XML::Bare(text=>'<xml><name>Bob</name></xml>');
for $i (keys %{$ob->{xml}}) {print "KEY: $i\n";}
出力がありません。ただし、中に入れる$ob
とmy()
:
#!/bin/perl
use XML::Bare;
my($ob) = new XML::Bare(text=>'<xml><name>Bob</name></xml>');
for $i (keys %{$ob->{xml}}) {print "KEY: $i\n";}
私はこの出力を取得します:
KEY: _z
KEY: _i
KEY: xml
KEY: _pos
my()
特に私my()
がまったく効果がないはずのトップレベルにいることを考えると、なぜこの動作を大幅に変更するのですか?