perl - 如何将传递的数组引用直接移到数组?

标签 perl

我有一个函数(我们称之为 foo($array_reference, ...) ),它需要其他参数中的数组引用。我要foo将数组引用从传递给它的参数列表中直接移到数组中,而不必将其作为数组引用移出,然后单独将其转换为数组。

我想要的应该是这样的:

my @bar = @{shift};

我不想要的,但目前坚持:
my $bar = shift;
my @bar = @{$bar}

后一种方法浪费行数,浪费内存,使我对编写这种 Perl 代码的作者充满热情。请帮忙?

最佳答案

不用担心“浪费线路,浪费内存”。两行代码和内存都很便宜。

您可以在@_上操作就像任何数组一样,包括取消引用。听起来您想要以下之一:

my @bar = @{+shift};
my @bar = @{$_[0]};

关于perl - 如何将传递的数组引用直接移到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3980493/

相关文章:

json - 使用 Mojo::UserAgent 并访问 JSON 作为响应?

linux - 给用户 sudo 访问 perl 的权限是不是一个坏主意?

perl - 是否有可能欺骗 Perl 使用变量 %INC 并仍然保持全局 %INC 不变?

perl - 关于 Perl 记录器的问题 - Log::Log4perl

perl - 从文本文件中持续读取数据的有效方法

perl - 我可以将常规参数与 CGI::Application::Dispatch 一起使用吗?

perl - DBD::SQLite:数据库被锁定:如何重试?

html - 使用 Perl 正则表达式计算 html 标签数量

php - 脚本语言中的美元表示法 - 为什么?

Perl 奇怪的源代码