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 }

 

發佈了189 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章