use utf8;
use Data::Dumper;
binmode STDIN, ':encoding(cp932)'; #vscode里日文不乱码
binmode STDOUT, ':encoding(cp932)';#vscode里日文不乱码
binmode STDERR, ':encoding(cp932)';#vscode里日文不乱码
my $str = "test string";
my @arr = ('1','2','3','4','5','6');
my %hash = ('a'=>'1','b'=>'2','c'=>'3','d'=>'4');
my $dumper = Data::Dumper->new([$str,\@arr,\%hash],[qw(*str *arr * hash)]);
#以下操作可以得到数组和hash结构里的名字
my $dumper1 = Data::Dumper->new([$str],[qw(*str)]);
my $dumper2 = Data::Dumper->new([\@arr],[qw(*arr)]);
my $dumper3 = Data::Dumper->new([\%hash],[qw(*hash)]);
print $dumper->Dump;
print $dumper1->Dump;
print $dumper2->Dump;
print $dumper3->Dump;
输出结构
$str = ‘test string’;
@arr = (
‘1’,
‘2’,
‘3’,
‘4’,
‘5’,
‘6’
);
% = (
‘c’ => ‘3’,
‘d’ => ‘4’,
‘b’ => ‘2’,
‘a’ => ‘1’
);
$str = ‘test string’;
@arr = (
‘1’,
‘2’,
‘3’,
‘4’,
‘5’,
‘6’
);
%hash = (
‘c’ => ‘3’,
‘d’ => ‘4’,
‘b’ => ‘2’,
‘a’ => ‘1’
);
详细参照perl api
也可以直接print Dumper(@arr);但是这样结构里的名字是var1,var2这种