相关疑难解决方法(0)

揭开Perl glob的神秘面纱(*)

这个问题中,海报询问如何在一行中执行以下操作:

sub my_sub {
    my $ref_array = shift;
    my @array = @$ref_array;
}
Run Code Online (Sandbox Code Playgroud)

凭借我对基本Perl魔法的了解,我可以通过简单地使用以下内容来避免:

sub my_sub {
    my $ref_array = shift;
    for (@$ref_array) {
      #do somthing with $_ here
    };

    #use $ref_array->[$element] here
}
Run Code Online (Sandbox Code Playgroud)

然而,在这个答案中,SO的当地僧侣之一提出:

sub my_sub {
  local *array = shift();
  #use @array here
}
Run Code Online (Sandbox Code Playgroud)

当我问

在尝试学习中级Perl魔法时,我可以问一下,你在这里设置什么是什么?您是否将@array的引用设置为已传入的arrayref?你怎么知道你创建@array而不是%array或$ array?我在哪里可以了解有关此*运算符的更多信息(perlop?).谢谢!

有人建议我把它作为一个新帖子,尽管他确实提供了很好的参考.无论如何,这里呢?有人可以解释什么被分配给什么以及如何创建@array而不是%array或$ array?谢谢.

perl glob

18
推荐指数
1
解决办法
7554
查看次数

perl:在哪里可以找到由*VAR =\0创建的只读变量的深层知识

我学会了一个perl语句,如:

*VAR = \0;
Run Code Online (Sandbox Code Playgroud)

$VAR在回答/sf/answers/2455826831/中创建一个只读,我试图找到更多的文档,以了解为什么$VAR在这种情况下是只读的,但没有运气,有人可以帮助解释或者指出一些关于这个主题的文件?

perl

3
推荐指数
1
解决办法
72
查看次数

标签 统计

perl ×2

glob ×1