Perl 自增问题

<pre name="code" class="sql">[root@june3 ~]# cat 2.sh
for((i=1;i<=10;i++))
do
echo $i
done
echo "last $i is $i
";
[root@june3 ~]# sh ./2.sh
1
2
3
4
5
6
7
8
9
10
last $i is 11


$i最后的值是11

----------------------------------------------------------------
[root@june3 ~]# cat a2.pl 
%log;
foreach (1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,5,6) {
print "1---$log{$_} is $log{$_} 
";

###添加hash 数组元素
$log{$_}++;
print "2---$log{$_} is $log{$_} 
";
};
while(my($ip, $times) = each %log) {
     print "$ip  $times
";
     }

print "1--------$log{1}
";
print "2--------$log{2}
";
[root@june3 ~]# perl a2.pl 
1---$log{1} is  
2---$log{1} is 1
 
1---$log{1} is 1 
2---$log{1} is 2 

1---$log{1} is 2 
2---$log{1} is 3 

1---$log{2} is  
2---$log{2} is 1 
1---$log{2} is 1 
2---$log{2} is 2 
1---$log{2} is 2 
2---$log{2} is 3 
1---$log{2} is 3 
2---$log{2} is 4 
1---$log{2} is 4 
2---$log{2} is 5 
1---$log{2} is 5 
2---$log{2} is 6 
1---$log{3} is  
2---$log{3} is 1 
1---$log{3} is 1 
2---$log{3} is 2 
1---$log{3} is 2 
2---$log{3} is 3 
1---$log{3} is 3 
2---$log{3} is 4 
1---$log{3} is 4 
2---$log{3} is 5 
1---$log{3} is 5 
2---$log{3} is 6 
1---$log{4} is  
2---$log{4} is 1 
1---$log{5} is  
2---$log{5} is 1 
1---$log{6} is  
2---$log{6} is 1 
6  1
4  1
1  3
3  6
2  6
5  1
1--------3
2--------6


hash 数组添加元素:
元素赋值与操作:  
  
增加: 赋值$h{'a'}=1,不存在则创建,hash不存在也创建。


%log;
foreach (1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,5,6) {
print "1---$log{$_} is $log{$_} 
";

###添加hash 数组元素
$log{$_}++;
print "2---$log{$_} is $log{$_} 
";
};
while(my($ip, $times) = each %log) {
     print "$ip  $times
";
     }

print "1--------$log{1}
";
print "2--------$log{2}
";

相当于:

foreach (1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,5,6) {
#print "1---$log{$_} is $log{$_} 
";
$log{'$_'}=$log{$_}++;
};
while(my($ip, $times) = each %log) {
     print "$ip  $times
";
     }

print "1--------$log{1}
";
print "2--------$log{2}
";

hash数组添加元素;

my %hash = ("1","a",
            "2","b");
foreach  $key (sort keys %hash){ 
 $var = $hash{$key};  
    print "$key is  $var
";
}
print "----------------------------
";
##add
$hash{3}++;
foreach  $key (sort keys %hash){
 $var = $hash{$key};
    print "$key is  $var
";
}


print "----------------------------
";
$hash{3}++;
foreach  $key (sort keys %hash){
 $var = $hash{$key};
    print "$key is  $var
";
}
[root@june3 ~]# perl a5.pl 
1 is  a
2 is  b
----------------------------
1 is  a
2 is  b
3 is  1
----------------------------
1 is  a
2 is  b
3 is  2



                                    
原文地址:https://www.cnblogs.com/hzcya1995/p/13351859.html