$ perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
サンプルソース
use strict;
use Data::Dumper;
use Test::More;
my $hash = +{ a => 1 };
#note explain $hash;
Data::Dumper->new( [$hash] )->Sortkeys(1)->Dump;
ok each %{ $hash };
結果
not ok 1
ちなみに、Sortkeys(0)をすると、okとなります。
同様にnote explain $hashでもnot okになります。
explain は内部的にData::Dumperを呼んでいるため。
そして、何が原因か探ろうとおもったのですが、
中身がData::Dumper::Dumpex(実物はxs)なので断念。
たぶん、eachでつかうitaratorがリセットされてないだけだと思いますが。。
こんな感じです。
use strict;
use Test::More;
my $hash = +{ a => 1 };
#note explain $hash;
#Data::Dumper->new( [$hash] )->Sortkeys(1)->Dump;
while (my $k = each %{ $hash } ) {
last
}
ok each %{ $hash };
ついついexplainしたくなりますが、気をつけます。
0 件のコメント:
コメントを投稿