免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4405 | 回复: 13
打印 上一主题 下一主题

perl的练习题救助。希望大家能帮忙写写。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-08 12:55 |只看该作者 |倒序浏览
刚开始接触perl,对perl一点都不懂,关于perl的语句啥的也一点都不懂呃。现在有两个练习题,希望大家帮忙写一下,最好能多些点注释。谢谢啦!

1.用Perl语言写一段代码,将目标文件一行一行的读取(txt文件),并复制到指定的文件。目标文件和指定的文件路径作为输入的参数。
2。用Perl语言写一段代码,计算出一个文本中有多少个单词(重复的也算),并按照字母表顺序输出每个单词在文本中的频率。

希望大神们能多写点注释哈。谢谢啦。

论坛徽章:
0
2 [报告]
发表于 2014-09-08 13:22 |只看该作者
求帮助啊?各位大神帮帮忙呢

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
3 [报告]
发表于 2014-09-08 15:35 |只看该作者
本帖最后由 huang6894 于 2014-09-08 15:35 编辑

Perl实例精解(原书第4版)
http://bbs.chinaunix.net/forum.p ... mp;fromuid=29097174



http://bbs.chinaunix.net/forum.p ... mp;fromuid=29097174

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
4 [报告]
发表于 2014-09-08 19:42 |只看该作者
这个要是帮你写了,会不会受到谴责。。。{:3_188:}

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
5 [报告]
发表于 2014-09-08 19:57 |只看该作者
本帖最后由 stanley_tam 于 2014-09-08 19:57 编辑

帮一半吧,一个有注释,一个没有
题1:
  1. #!perl
  2. use strict;
  3. use FileHandle;

  4. my %frequency = ();
  5. ++$frequency{$_} for split /\s+/, do {local $/; FileHandle->new(shift, 'r')->getline};
  6. printf "%-20s=>%10s$/", $_, $frequency{$_} for sort keys %frequency;

  7. __END__
复制代码
题2:
  1. #!perl
  2. use strict;
  3. use FileHandle;
  4. use Getopt::Std qw{ getopts };

  5. sub main;
  6. sub usage;

  7. main;

  8. sub main {
  9.     # get files from parameters
  10.     getopts('f:t:', \my %opts);
  11.     my ($from, $to) = @opts{'f', 't'};
  12.     usage() if not $from or not $to;

  13.     # open files
  14.     my $from_fh = FileHandle->new($from, 'r');
  15.     my $to_fh   = FileHandle->new($to,   'w');

  16.     # read and write
  17.     while ( defined(my $line = $from_fh->getline) ) {
  18.         # read one line each time
  19.         $to_fh->print($line);
  20.     }

  21.     # close
  22.     $from_fh->close;
  23.     $to_fh->close;
  24. }

  25. sub usage {
  26.     print "Usage:\n\t$0 -f file1 -t file2$/";
  27.     exit 1;
  28. }

  29. __END__
复制代码

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
6 [报告]
发表于 2014-09-08 21:09 |只看该作者
回复 5# stanley_tam


    大神,我觉得你写的话,应该写最基础那些写法{:2_176:}

论坛徽章:
0
7 [报告]
发表于 2014-09-08 21:26 |只看该作者
回复 3# huang6894
哈哈,谢谢,但是根据自己的题目看代码是不是会学的快点噢。

   

论坛徽章:
0
8 [报告]
发表于 2014-09-08 21:28 |只看该作者
本帖最后由 acguitar 于 2014-09-08 21:35 编辑

回复 5# stanley_tam
赞一个,太感谢啦。。。嘿嘿,不过好像两个题写反了。


   

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
9 [报告]
发表于 2014-09-08 23:24 |只看该作者
第二个应该很基础了吧,都是核心库{:3_201:} 回复 6# huang6894


   

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
10 [报告]
发表于 2014-09-09 09:01 |只看该作者
本帖最后由 huang6894 于 2014-09-09 09:35 编辑

..................
不好意思,我其实写了一个每行都有注释的。。。可是忘记贴代码就rm掉了。。。就不重写了。。。。

第一题你去看看@ARGV、句柄;
第二题你去了解一下split、[^\w]+、数组和$#数组名。。。。

就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP