微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Perl引用,解引用的对比总结转

Perl引用,解引用的对比总结

 

 @H_502_29@

标量@H_502_29@

数组@H_502_29@

散列@H_502_29@

函数@H_502_29@

定义符号@H_502_29@

$

@

%

&

定义@H_502_29@

$test

@test

%test

Sub test

使用@H_502_29@

$test = ‘a’

@test = (1,2,3)

%test = (‘a’=>1,’b’=>2)

Sub test{ code }

元素/@H_502_29@使用@H_502_29@

-

$test[n]

$test{key}

&test(param)

元素符号@H_502_29@

-

[..]

{..}

(..)

引用@H_502_29@

/$test

/@test

/%test

/&test

*@H_502_29@引用1@H_502_29@

*test{SCALAR}

*test{ARRAY}

*test{HASH}

*test{CODE}

解引用@H_502_29@

符号解@H_502_29@

${/$test}

@{/@test}

%{/%test}

&{/&test}

箭头解@H_502_29@

-

$test->[n]

$test->{key}

$test->(param)

$ @H_502_29@@H_502_29@

-

${/@test}[n]

${/%test}{key}

-

匿名创建@H_502_29@

-

 $test=[1,3,4]

$test={‘a’=>1,’b’=>2}

$test=sub{ code }

 

1. 传递文件句柄时,*号作为文件句柄的定义符号,例如

 

open(MYFILE,">test.123");

print MYFILE 123;splutter(*MYFILE);

#   /*MYFILE = *MYFILE

close(MYFILE);sub splutter {

my $fh = shift$fh "her um well a hmmm/n"}


2. 隐藏的箭头: 每一对花括号或方括号之间,隐藏着一个 -> ,包括 {}[] 或者 []{},下面的例子
 
#!perl -w
use strict;
my $ref_to_AoA = [
    [ 
"fred""barney""pebbles""bamm bamm""dino"],
    [ 
"homer""bart""marge""maggie"],
    [ 
"george""jane""elroy""judy"],
];
my @Aoa = (
      [
"fred""barney"],
      [
"george""elroy"],
      [
"homer""bart"],
      {
"test"=>"aaa","test2"=>"bbb"}
);
print $ref_to_AoA->[2][3]; # 等价于 $ref_to_AoA->[2]->[3];
print $Aoa[3]{"test"}; # 等价于 $Aoa[3]->{"test"}
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐