Perl語言入門-第十章-其他控制結構-習題

來源:互聯網
上載者:User

1. 題目

2. 代碼與輸出

 1 #-----------------------------------------------------------#
 2 # Source: Learning Perl, chapter10,exercise-1
 3 # Date:   2012-01-20
 4 # Author: xiaodongrush
 5 #-----------------------------------------------------------#
 6 use 5.010;
 7 $secret_num = int(1 + rand 100); 
 8 while(<STDIN>) {
 9   chomp;
10   if(/^[0-9]+$/) { # 鍵入都是數字
11     if($_ < $secret_num) {
12        say "Too low. Try again.";
13     } elsif($_ > $secret_num) {
14        say "Too high. Try again.";
15     } else {
16        say "You get it.";
17        last;
18     }
19   } elsif(/^quit$|^exit$|^\s*$/) { # quit,exit,空白行
20     last;
21   } else {
22     say "Not Vaild Input. Try again";
23   }
24 }
25 #-----------------------------------------------------------#

 1 #-----------------------------------------------------------#
 2 # Source: Learning Perl, chapter10,exercise-2
 3 # Date:   2012-01-20
 4 # Author: xiaodongrush
 5 #-----------------------------------------------------------#
 6 use 5.010;
 7 $secret_num = int(1 + rand 100);
 8 if(@ARGV[0] =~ /-debug/i) {
 9   say "[DEBUG] The secret num is $secret_num";
10 }
11 while(<STDIN>) {
12   chomp;
13   if(/^[0-9]+$/) { # 鍵入都是數字
14     if($_ < $secret_num) {
15        say "Too low. Try again.";
16     } elsif($_ > $secret_num) {
17        say "Too high. Try again.";
18     } else {
19        say "You get it.";
20        last;
21     }
22   } elsif(/^quit$|^exit$|^\s*$/) { # quit,exit,空白行
23     last;
24   } else {
25     say "Not Vaild Input. Try again";
26   }
27 }
28 #-----------------------------------------------------------#

 1 #-----------------------------------------------------------#
 2 # Source: Learning Perl, chapter10,exercise-3
 3 # Date:   2012-01-20
 4 # Author: xiaodongrush
 5 #-----------------------------------------------------------#
 6 use 5.010;
 7 $ENV{"ZERO"} = 0;
 8 $ENV{"EMPTY"} = '';
 9 $ENV{"UNDEFINED"} = undef;
10 $max_key_len = 0;
11 $key_len_limit = 10;
12 $value_len_limit = 10;
13 while(($key,$value) = each %ENV) {
14   if(length($key) > $key_len_limit) {
15     next;
16   }
17   $max_key_len = $max_key_len > length($key) ? $max_key_len : length($key);
18 }
19 say "1234567890" x 7;
20 while(($key,$value) = each %ENV) {
21   if(length($key) > $key_len_limit || length($value) > $value_len_limit) {
22     next;
23   }
24   printf "%" . $max_key_len . "s    " . "%s\n", $key, $value // "(undefined)";  
25 }
26 #-----------------------------------------------------------#
27 # 如果$value='',那麼$value || "(undefined)" 返回"(undefined)"
28 # 如果$value='',那麼$value // "(undefined)" 返回'';
29 # 如果$value=undef,$value || "(undefined)" 
30 # 和$value // "(undefined)"都返回"(undefined)"
31 #-----------------------------------------------------------#

 

3. 檔案

    /Files/pangxiaodong/LearningPerl/ch10-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.