Perl_引用


#about ref num

my $num=10;

my $rnum=\$num;

$$rnum += 2;

print $$rnum."\n";#print 12

${$rnum} += 2;

print ${$rnum}."\n";#print 14

my $rdnum=\10;


#ref string
my $a="string1";
my $ra=\$a;
my $rs=\"string2";

my @array = (10,20);
my $rarray=\@array;
print $$rarray[1]."\n";# print 20
print ${$rarray}[1]."\n";# print 20
push @$rarray, 30;

print $$rarray[2]."\n";# print 30
print ${$rarray}[2]."\n";# print 30
print $#$rarray."\n";# print 2
print $#{$rarray}."\n";# print 2


#引用匿名数组

$ra = [ ];
$ra = [1,"hello"];

print ${$ra}[1]."\n";#print hello


#ref hash

my %hash =("key1"=>"value1","key2"=>"value2","key3"=>"value3");
my $rhash=\%hash;
print $$rhash{"key1"}."\n";# print value1
print ${$rhash}{"key1"}."\n";# print value1
my @slice=@$rhash{'key1','key2'};# content:i value1, value2

#分割哈希
my @slice1=@{$rhash}{'key1','key2'};# content:i value1, value2

print $slice[0]."\n";#print value1
print $slice1[0]."\n";#print value1


#引用匿名哈希
$rhash = {};
$rhash = {"k1","v1","k2","v2"};

print ${$rhash}{"k1"}."\n";#print v1
$rhash ={"k3"=>"v3","k4"=>"v4"};
print ${$rhash}{"k3"}."\n";#print v1


#引用数组、哈希元素

my $r_array_element=\$array[1];
my $r_hash_element=\$hash{"key1"};


#嵌套数据结构

my %parent=('name'=>'par','age'=>'50');
my %ch1=('name'=>'tom','age'=>'10');
my %ch2=('name'=>'tim','age'=>'12');
my @children=(\%ch1,\%ch2);
$parent{'children'}=[\%ch1,\%ch2];#$parent{'children'}=\@children;
print $parent{'children'}->[1]->{'age'}."\n";#print child 2, tim's age: 12
print $parent{'children'}[0]{'name'}."\n";#print child 1, tom's name: tom
%parent=();
%parent = (
'name'=>'par','age'=>'50',
'children'=>[{'name'=>'tom','age'=>10},{'name'=>'tim','age'=>12}]
);

print $parent{'children'}->[1]->{'age'}."\n";#print child 2, tim's age: 12
print $parent{'children'}[0]{'name'}."\n";#print child 1, tom's name: tom
print values(%parent);#it's not value

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值