Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$a->;{abcd}=';123';用perl是什么意思?_Perl - Fatal编程技术网

$a->;{abcd}=';123';用perl是什么意思?

$a->;{abcd}=';123';用perl是什么意思?,perl,Perl,在一个子例程的末尾,我在一个Perl脚本中遇到了$a->{abed}='123',但无法理解此语句实际上要做什么?这意味着将字符串值'123'分配给$ahashref的'abed'键,如下所示: { abed => '123' } 您可以在中找到有关hashrefs的更多信息 如果这是子例程中的最后一行,则表示此表达式的结果$a->{abed}='123'作为该子例程的返回值返回,在本例中,结果为'123' 一些注意事项: $a是一个糟糕的变量名称,因为原语使用它 ->运算符是一个解引用

在一个子例程的末尾,我在一个Perl脚本中遇到了
$a->{abed}='123'
,但无法理解此语句实际上要做什么?

这意味着将字符串值
'123'
分配给
$a
hashref的
'abed'
键,如下所示:

{ abed => '123' }
您可以在中找到有关hashrefs的更多信息

如果这是子例程中的最后一行,则表示此表达式的结果
$a->{abed}='123'
作为该子例程的返回值返回,在本例中,结果为
'123'

一些注意事项:

  • $a
    是一个糟糕的变量名称,因为原语使用它

  • ->
    运算符是一个解引用。从
    {}
    可以推断出被取消引用的是散列引用

    因此:


    但是你不应该使用
    $a
    ,除非它在
    排序中。通常使用单字符var名称是一件坏事,但是
    $a
    $b
    尤其具有特殊意义,因为它们被用作
    排序
    迭代器

    如果语法有问题,那么您还有大量关于Perl的知识要学习。如果堆栈溢出中充满了诸如
    $x=99
    是什么意思之类的问题的答案,那么堆栈溢出将是一个糟糕的资源?仅通过阅读就可以在30秒内找到此问题的答案。标准Perl文档的另一个相关部分是
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    use Data::Dumper;
    
    
    my %hash = ( 'abc' => 546 );
    my $a = \%hash;
    $a->{abed} = '123';
    
    print Dumper \$a;