微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐