You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Perl脚本中@$操作符含义及标量转数组用法咨询

Perl 中 @$ 符号的含义

首先需要纠正你的前提误解:$function_type_ref不可能是字符串类型,它一定是数组引用,否则使用@$对其操作会直接触发运行时错误。

@$是Perl的数组引用解引用语法,作用是取出数组引用指向的原始数组完整内容:

  • Perl中引用属于特殊标量,以$开头命名,存储的是其他变量的内存地址
  • 当一个标量存储的是数组类型的引用时,要获取它指向的原数组的所有元素,就需要用@$引用变量名的语法完成解引用操作

你给出的代码示例:

my (@parmTypesList) = @$function_type_ref;

作用就是将$function_type_ref指向的原数组的全部元素,赋值给新声明的数组@parmTypesList。

你也可以用Perl 5.24及以上版本支持的更易读的解引用写法,效果完全一致:

my (@parmTypesList) = $function_type_ref->@*;

内容的提问来源于stack exchange,提问作者user16931235

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:06:04