perl脚本练习

题目: 

 
 
  1. 12 34 56 78  
  2. 24 65 87 90  
  3. 76 11 67 87  
  4. 100 89 78 99 

求出文本中数字的最大、小值 

我看很多的朋友都用shell的awk实现了,但本人对awk不是很了解,试着用perl简单的写了一下,也能实现

code:

 
 
  1. #!/usr/bin/perl -w 
  2.  
  3. use strict; 
  4. use List::Util qw(max min); 
  5.  
  6. open my $file,'<','e.txt' or die "$!\n"; 
  7.  
  8. my @array = map {split /\s+/} <$file>
  9.  
  10. close $file; 
  11.  
  12. print min(@array),"\n"; 
  13. print max(@array),"\n";

第8行代码的也可以这样省略写

 
 
  1. my @array = map {split} <$file>

或者这样写

 
 
  1. my @array = map split,<$file>

抓图看一下:

output:

第二种方法:

 
 
  1. #!/usr/bin/perl -w 
  2.  
  3. use strict; 
  4.  
  5. my @array = (); 
  6.  
  7. open FILE,'<','e.txt' or die "$!\n"
  8.  
  9. while (<FILE>) { 
  10.        chomp; 
  11.        push @array,split; 
  12.  
  13. close FILE; 
  14.  
  15. @array = sort {$a<=>$b} @array
  16.  
  17. print "Min:\n"
  18. print "\t$array[0]\n"
  19. print "Max:\n"
  20. print "\t$array[$#array]\n"

图示


本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/535076,如需转载请自行联系原作者

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值