Perl分割字符串的一个精妙的写法

 1 #!/usr/bin/perl -w
 2 use strict;  3 use warnings;  4 
 5 #分割字符串的一个精妙的写法
 6 sub spliteName  7 {  8     my $fileName = shift ;  9     my $arr_hash_ref = shift ; 10     open my $fd,'<',$fileName or die "open file $fileName error!"; 11     #文件格式如 : 12  # girl: lily lucy may hallen # 关键字:名字(使用空格分开) 
13     while( <$fd> ) 14  { 15         #这种方法先将属性项保存在$1中去掉,再将剩下的用splite分隔得到数组,非常精妙
16         next unless s/^(.+?):\s*// ; 17         $$arr_hash_ref{$1} = [ split ]; 18  } 19 } 20 
21 sub main 22 { 23     my $fileName = "test.txt"; 24     my %array_hash ; 25     spliteName($fileName,\%array_hash); 26     print_arr_hash(\%array_hash); 27 } 28 main(); 29 
30 sub print_arr_hash 31 { 32     my $arr_hash_ref = shift ; 33     for my $key (keys %$arr_hash_ref) 34  { 35         #注意这里是打印整个数组, 所以记得加上 @ 
36         print "$key:@{$$arr_hash_ref{$key}} \n"; 37  } 38 }

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...