菜鸟lei的学习成长空间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  266 随笔 :: 0 文章 :: 84 评论 :: 109万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

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

posted on   菜鸟-雷  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示