有没有让perl运行一个数字文件,只打印出没有小数点的数字?
所以我说我有60,78.9,109,我希望它打印出60,109。
这在Perl中是否可行?
答案 0 :(得分:4)
3.0
和3
是相同的数字,因此如果您有数字的字符串表示,则只能检查小数点。如果这就是你所拥有的,你可以使用以下内容:
print "$_\n" for grep { !/\./ } @numbers;
-or-
print "$_\n" for grep { /^[0-9]+\z/ } @numbers;
另一方面,如果你想用小数分量过滤掉数字(三个,但不应该有三个和十分之一),那么你可以检查int
是否改变了数字(因为它删除了小数部分。)
print "$_\n" for grep { $_ == int($_) } @numbers;
答案 1 :(得分:0)
perl -ne 'print unless /\./;' < file
是用Perl描述我能想到的最简单的方法。