题目:
- 12 34 56 78
- 24 65 87 90
- 76 11 67 87
- 100 89 78 99
求出文本中数字的最大、小值
我看很多的朋友都用shell的awk实现了,但本人对awk不是很了解,试着用perl简单的写了一下,也能实现
code:
- #!/usr/bin/perl -w
- use strict;
- use List::Util qw(max min);
- open my $file,'<','e.txt' or die "$!\n";
- my @array = map {split /\s+/} <$file>;
- close $file;
- print min(@array),"\n";
- print max(@array),"\n";
第8行代码的也可以这样省略写
- my @array = map {split} <$file>;
或者这样写
- my @array = map split,<$file>;
抓图看一下:
output:
第二种方法:
- #!/usr/bin/perl -w
- use strict;
- my @array = ();
- open FILE,'<','e.txt' or die "$!\n";
- while (<FILE>) {
- chomp;
- push @array,split;
- }
- close FILE;
- @array = sort {$a<=>$b} @array;
- print "Min:\n";
- print "\t$array[0]\n";
- print "Max:\n";
- print "\t$array[$#array]\n";
图示
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。