原文發表在網易部落格 2010-11-19 13:10:11
第1題根據輸入的人名列印其姓氏
#!perl -w
#getfamilyname
use strict;
my %nametable=("fred"=>"flintstone","barney"=>"rubble","wilma"=>"flintstone");
print "input person name,and the program will print his familyname.\n";
my $personname=;
chomp($personname);
if(exists $nametable)'s familyname is $nametable\n";
}else
第2題列印輸入的每個單詞出現的個數
#!perl -w
use strict;
my %wordcounter;
my $word;
#while(chomp($word=))會報錯說使用了乙個未初始化的$word值
while($word=))+=1;
}else=1;
} }
my $key;
my $value;
print "print wordcounter without order.\n";
while(($key,$value)= each %wordcounter)
print "print wordcounter with ascii order\n";
my @orderdkeys=sort keys %wordcounter;
foreach(@orderdkeys)\n";
}第3題列印系統的環境變數
#!perl -w
use strict;
print "print system env with ascii orders\n";
my @keys=sort(keys %env);
my $key_len=0;
foreach(@keys)
} my $format="%-$s\t%s\n";
foreach(@keys)";
}
Learning Perl 第3章習題答案
原文發表在網易部落格 2010 11 04 21 22 33 3.1 列表列印 從stdin中讀取每個列表值時,都會經過chomp的處理,因此每個列表元素都被去掉了結尾的換行符 chomp lines print print the list n foreach line lines print n...
第 6章 函式
6.1.2引數 2.引數陣列 c 允許為函式指定乙個 只能乙個 特殊的引數,這個引數必須是函式定義中的最後乙個引數,可用params關鍵字定義他們 如 params int vals 3.引用引數和值引數 理解 將本來在函式中引數按值引用的規則改變成按傳遞引用,使得這個引數會改變,定義引數和傳遞引數...
第6章 函式
1.自動物件 只存在於塊執行期間的物件 2.區域性靜態物件static 在程式執行路徑第一次經過物件定義語句時初始化,並且知道程式終止才被銷毀,如果區域性靜態變數沒有顯示的初始值,初始化為0.3.如果函式無須改變引用形參的值,最好將其生命為常量引用。4.使用引用形參返回額外資訊 5.和其他初始化過程...