Perl語言入門-第六章-雜湊-習題

來源:互聯網
上載者:User

1. 題目

2. 代碼與輸出

    ch6-family-name.pl

 1 #-----------------------------------------------------------#
 2 # Source: Learning Perl, chapter6, exercise-1
 3 # Date:   2012-01-16
 4 # Author: xiaodongrush
 5 #-----------------------------------------------------------#
 6 use 5.010;
 7 %family_name_hash = (
 8   "fred"   =>  "flintstone",
 9   "barney" =>  "rubble",
10   "wilma"  =>  "flintstone", );
11 
12 while(<>) {
13   chomp;
14   if(exists $family_name_hash{$_} ) {
15     say $_ . "'s family name is : " . $family_name_hash{$_};
16   } else {
17     say $_ . "'s family name not exist in hash";
18   }
19 }
20 #-----------------------------------------------------------#

   

ch6-wordcount.pl

 1 #-----------------------------------------------------------#
 2 # Source: Learning Perl, chapter6, exercise-2
 3 # Date:   2012-01-16
 4 # Author: xiaodongrush
 5 #-----------------------------------------------------------#
 6 use 5.010;
 7 while(<>) {
 8   chomp;
 9   if(exists $word_hash{$_}) {
10     $word_hash{$_} += 1;
11   } else {
12     $word_hash{$_} = 1;
13   }
14 }
15 foreach(sort (keys %word_hash) ) {
16   say $_ . "\t\t" . $word_hash{$_};
17 }
18 #-----------------------------------------------------------#

ch6-ENV-hash.pl

 1 #-----------------------------------------------------------#
 2 # Source: Learning Perl, chapter6, exercise-3
 3 # Date:   2012-01-16
 4 # Author: xiaodongrush
 5 #-----------------------------------------------------------#
 6 use 5.010;
 7 
 8 $max_key_len = 0;
 9 $max_value_len = 0;
10 $len_limit = 35;
11 while(($key, $value) = each %ENV) {
12   if(length($key) < $len_limit  && length($value) < $len_limit ) {
13     $max_key_len = $max_key_len > length($key) ? $max_key_len : length($key);
14     $max_value_len = $max_value_len > length($value) ? $max_value_len : length($value);
15   }
16 }
17 $format = "%-" . $max_key_len . "s  ,  %-" . $max_value_len . "s\n";
18 printf $format, "key", "value";
19 foreach(sort(keys %ENV)) {
20   if( (length($_) < $len_limit ) && (length($ENV{$_}) < $len_limit )) {
21     printf $format, $_, $ENV{$_};
22   }
23 }
24 <STDIN>;
25 #-----------------------------------------------------------#

3. 檔案

    /Files/pangxiaodong/LearningPerl/ch6-answer.rar

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.