use strict; use POSIX qw(floor); my $input = $ARGV[0]; open(FILE, $input) || die "ERROR: Unable to open $input FILE for reading: $!\n"; my @range2; my ($phi, $psi); while () { $phi = substr($_, 0, 6); $psi = substr($_, 8, 6); print "$phi $psi\n"; my $i = floor($phi/5.0) + 36; my $j = floor($psi/5.0) + 36; if ($i >= 0 && $j >= 0 && $i < 73 && $j < 73) { ++$range2[$i][$j]; } } for my $i (0..72) { for my $j (0..72) { my $val = $range2[$i][$j]; $val ||= 0; print "$val, "; } print "\n"; }