perlでデータを一旦変数に入れないと値が変わる?
データを一旦変数に入れてから使わないと値が変わるの?
use strict; use warnings; use Geo::WKT; use Data::Dumper; my $linestring = qq/LINESTRING(1 1,2 2)/; my $geoline = parse_wkt_linestring($linestring); my $points = $geoline->points(); my $data1={name=>"name1",points=>$points}; print Dumper($data1); my $data2={name=>"name2",points=>$geoline->points()}; print Dumper($data2);
結果は
$VAR1 = {
'points' => [
[
'1',
'1'
],
[
'2',
'2'
]
],
'name' => 'name1'
};
Odd number of elements in anonymous hash at test.pl line 13.
$VAR1 = {
'ARRAY(0x8006cb30)' => undef,
'points' => [
'1',
'1'
],
'name' => 'name2'
};
というところで躓いていました。。。
一旦値を入れないと、意図しない動きとなってしまっていた。
コンテキスト?まわりの知識がアヤフヤなのがまずいのかも。。 ハッシュの値として、受け取るのと、スカラ変数で受け取るのでは 値が変わるのかな???