The following implementation assumes that you only provide one parameter on the command line* - hence you don't have to handle the open. Also, you don't need to fill an array and analyse it later - do it immediately if you can, you'll save memory and time.
#!/usr/bin/perl use strict; use warnings; while (<>) { chomp(); # Remove trailing newline my $checkvalue = substr($_, 0, 6); print("$checkvalue -130 -125\n") if ($checkvalue > -130 && $checkvalue <= -125); } __END__ ~> cat input.txt -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 ~> ./prova.pl input.txt -125 -130 -125 -126 -130 -125 -127 -130 -125 -128 -130 -125 -129 -130 -125
*As blazar correctly points out in the subthread, it actually means that this assumes all arguments on the cmd line are files to be processed, so it works perfectly if you want to analyse more files at once.
Flavio (perl -e 'print(scalar(reverse("\nti.xittelop\@oivalf")))')
Don't fool yourself.In reply to Re: printing values within a given range
by polettix
in thread printing values within a given range
by Angharad
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |