Dumperを使ってみました
printサブでの表示だけでなく、変数の内容をダンプして見たい時があります。
そんな時は、Dumperモジュールが使えます。
Dumperモジュールサンプル
use strict; use warnings; use Data::Dumper; #local $Data::Dumper::Sortkeys = 1; # ハッシュのキーをソートする #local $Data::Dumper::Indent = 1; # インデントを縮める #local $Data::Dumper::Terse = 1; # $VAR数字要らない my $data1 = { name => 'Ultra Seven', human => 'Dan Moroboshi', transform => 'glasses', power =>[ 'Emerium Beam', 'Eye Slugger', 'Wide Shot' ], }; my $data2 = [ 'Ultra Seven', 'Dan Moroboshi', 'glasses' ]; my @data3 = ('Ultra Seven', 'Dan Moroboshi', 'glasses'); my %data4 = (name => 'Ultra Seven', human => 'Dan Moroboshi', transform => 'glasses'); print "-----ハッシュリファレンスのダンプ-----\n"; print Dumper $data1; # ハッシュリファレンスが入っている print "\n"; print Dumper %$data1; # 上のデリファレンス print "-----配列リファレンスのダンプ-----\n"; print Dumper $data2; # 配列リファレンスが入っている print "\n"; print Dumper @$data2; # 上のデリファレンス print "-----普通の配列のダンプ-----\n"; print Dumper @data3; # 配列 print "\n"; print Dumper \@data3; # 上のリファレンス print "-----普通のハッシュのダンプ-----\n"; print Dumper %data4; # ハッシュ print "\n"; print Dumper \%data4; # 上のリファレンス
表示結果
C:\test>perl dumper.pl -----ハッシュリファレンスのダンプ----- $VAR1 = { 'human' => 'Dan Moroboshi', 'transform' => 'glasses', 'power' => [ 'Emerium Beam', 'Eye Slugger', 'Wide Shot' ], 'name' => 'Ultra Seven' }; $VAR1 = 'human'; $VAR2 = 'Dan Moroboshi'; $VAR3 = 'transform'; $VAR4 = 'glasses'; $VAR5 = 'power'; $VAR6 = [ 'Emerium Beam', 'Eye Slugger', 'Wide Shot' ]; $VAR7 = 'name'; $VAR8 = 'Ultra Seven'; -----配列リファレンスのダンプ----- $VAR1 = [ 'Ultra Seven', 'Dan Moroboshi', 'glasses' ]; $VAR1 = 'Ultra Seven'; $VAR2 = 'Dan Moroboshi'; $VAR3 = 'glasses'; -----普通の配列のダンプ----- $VAR1 = 'Ultra Seven'; $VAR2 = 'Dan Moroboshi'; $VAR3 = 'glasses'; $VAR1 = [ 'Ultra Seven', 'Dan Moroboshi', 'glasses' ]; -----普通のハッシュのダンプ----- $VAR1 = 'human'; $VAR2 = 'Dan Moroboshi'; $VAR3 = 'transform'; $VAR4 = 'glasses'; $VAR5 = 'name'; $VAR6 = 'Ultra Seven'; $VAR1 = { 'human' => 'Dan Moroboshi', 'transform' => 'glasses', 'name' => 'Ultra Seven' };
結果的に、値は値毎に表示され、リファレンスはリファレンス毎に表示される。