Learning perl 第6章习题
2011-05-25 22:41
183 查看
原文发表在网易博客 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=<STDIN>;
chomp($personName);
if(exists $nameTable{$personName}){
print "peron ${personName}'s familyname is $nameTable{$personName}\n";
}else{
print "no such person\n";
}
第2题打印输入的每个单词出现的个数
#!perl -w
use strict;
my %wordCounter;
my $word;
#while(chomp($word=<STDIN>))会报错说使用了一个未初始化的$word值
while($word=<STDIN>){
chomp($word);
if(exists $wordCounter{$word}){
$wordCounter{$word}+=1;
}else{
$wordCounter{$word}=1;
}
}
my $key;
my $value;
print "print wordCounter without order.\n";
while(($key,$value)= each %wordCounter){
print "$key,\t$value\n";
}
print "print wordCounter with ascii order\n";
my @orderdkeys=sort keys %wordCounter;
foreach(@orderdkeys){
print "$_,\t$wordCounter{$_}\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){
if(length($_)> $key_len){
#length是常规函数,因此调用时不需要使用&length($_)的方式.
$key_len=length($_);
}
}
my $format="%-${key_len}s\t%s\n";
foreach(@keys){
printf $format,"$_","$ENV{$_}";
}
第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=<STDIN>;
chomp($personName);
if(exists $nameTable{$personName}){
print "peron ${personName}'s familyname is $nameTable{$personName}\n";
}else{
print "no such person\n";
}
第2题打印输入的每个单词出现的个数
#!perl -w
use strict;
my %wordCounter;
my $word;
#while(chomp($word=<STDIN>))会报错说使用了一个未初始化的$word值
while($word=<STDIN>){
chomp($word);
if(exists $wordCounter{$word}){
$wordCounter{$word}+=1;
}else{
$wordCounter{$word}=1;
}
}
my $key;
my $value;
print "print wordCounter without order.\n";
while(($key,$value)= each %wordCounter){
print "$key,\t$value\n";
}
print "print wordCounter with ascii order\n";
my @orderdkeys=sort keys %wordCounter;
foreach(@orderdkeys){
print "$_,\t$wordCounter{$_}\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){
if(length($_)> $key_len){
#length是常规函数,因此调用时不需要使用&length($_)的方式.
$key_len=length($_);
}
}
my $format="%-${key_len}s\t%s\n";
foreach(@keys){
printf $format,"$_","$ENV{$_}";
}
相关文章推荐
- 第6章 数据库设计 习题
- 第6章习题 x86汇编从实模式到保护模式
- Accelerated C++ 习题解答 第6章
- 《快学Scala》习题详解 第6章 对象
- DX12龙书第6章习题
- 《算法导论》 - 第6章 - 堆排序 - 习题解答
- 《The C++ Programming Language, special edition》第6章6.6节中的一道有趣习题ch6.6-15
- 《算法导论》 - 第6章 - 堆排序 - 习题解答
- Learning Perl 第九章习题第二题
- DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)
- Java - Thinking in Java 第6章 习题
- 快学scala第6章习题——对象相关
- 鸟哥私房菜 第6章 Linux的文件权限与目录配置 课后习题
- 《Python核心编程》第6章 习题
- 算法入门经典2 第6章习题 题解
- 《跟阿铭学Linux》第6章 Linux磁盘管理——课后习题与答案
- Learning Perl 第3章习题答案
- 快学scala 第6章 对象 读书笔记及习题答案代码
- 算法竞赛入门经典第6章图论和树:竞赛选讲部分与习题
- Introdution to 3D Game Programming With DirectX11 第6章 习题解答