• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Learning perl 第6章习题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文发表在网易博客 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{$_}";
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Perl在线教程(1——9课)发布时间:2022-07-22
下一篇:
安装perl-DBD-mysql发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap