Perl编程:嵌套数据结构与运算符深度解析
1. 嵌套数据结构
在Perl中,当引用计数达到零,Perl会销毁文件句柄以回收内存,此过程会隐式调用 close()
函数。在使用引用作为函数参数时,需仔细记录意图,避免意外修改调用代码的数据。若要修改引用内容而不影响引用本身,可将值复制到新变量:
my @new_array = @{ $array_ref };
my %new_hash = %{ $hash_ref };
对于嵌套数据结构,Perl的聚合数据类型(数组和哈希)存储由整数或字符串键索引的标量。若直接将数组存储在数组中,Perl会自动扁平化列表。解决方法是使用引用,它是特殊的标量,可引用其他变量。
创建嵌套数据结构有两种方式:
- 使用引用运算符 \
:
my @counts = qw( eenie miney moe );
my @ducks = qw( huey dewey louie );
my @game = qw( duck duck grayduck );
my @famous_triplets = ( \@counts, \@ducks, \@game );
- 使用匿名引用声明语法:
my @famous_triplets = (
[qw( eenie miney mo