编程学习biancheng.45soft.com 本站提供了各种在线教程和资料,供大家学习与参考.
编程学习
当前位置: 主页 > Perl > 数组和散列 > Perl 数组和散列 访问和打印数组的散列

Perl 数组和散列 访问和打印数组的散列

你可以用下面的方法设置某一数组的第一个元素:

$HoA{flintstones}[0] = "Fred";

要让第二个 Simpson 变成大写,那么对合适的数组元素进行一次替换:

$HoA{simpsons}[1] =~ s/(\w)/\u$1/;

你可以打印所有这些家族,方法是遍历该散列的所有键字:

for $family ( keys %HoA ){
     print "$family: @{ $HoA{$family} }\n";
}

我们稍微多做一些努力,你就可以一样追加数组索引:

for $family ( keys %HoA ) {
     print "$family: ";
     for $i ( 0 .. $#{ $HoA{$family} }) {
             print " $i = $HoA{$family}[$i]";
     }
     print "\n";
}

或者通过以数组拥有的元素个数对它们排序:

for $family ( sort { @{$HoA{$b}} <=> @{$HoA{$a}} } keys %HoA ){
     print "$family: @{ $HoA{$family}}\n";
}

或者甚至可以是以元素的个数对数组排序然后以元素的 ASCII 码顺序进行排序(准确地说是 utf8 的顺序):

# 打印以成员个数和名字排序的所有内容
for $family ( sort { @{$HoA{$b}} <=> @{$HoA{$a}}} keys %HoA) {
     print "$family: ", join(", ", sort @{$HoA{$family}}), "\n";
}




编程学习 Perl 数组和散列 访问和打印数组的散列 转载请保留此行.谢谢.

Perl