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
相关产品推荐
相关产品推荐

