Thank you Uri and Shawn.
I am getting the following error and not sure how to resolve:
I will also checkout the great suggestions Uri made.
Can't use string ("3") as an ARRAY ref while "strict refs" in use at
./DBSRtest.pl line 51, <> line 999.
#!/usr/bin/perl
use warnings;
use strict;
use POSIX;
use Data::Dumper;
# Make Data::Dumper pretty
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Indent = 1;
# Set maximum depth for Data::Dumper, zero means unlimited
local $Data::Dumper::Maxdepth = 0;
# configuration
my $fileOut = "testOut.txt";
my $field_separator = quotemeta( ';' );
my $ICELL_INDEX = 9;
my $ISECT_INDEX = 10;
my $ICHAN_INDEX = 27;
my $CFC_INDEX = 36;
my $CFCQ_INDEX = 37;
my $RTD_INDEX = 40;
my $fileIn =
sprintf("/omp/omp-data/logs/pcmd/%s.PCMD",strftime("%y%m%d%H",localtime));
print $fileIn,"\n";
#my $fileOut =
sprintf("/home/cstine/tools/DBSR/%s.txt",strftime("%y%m%d%H%M",localtime));
open my $fin, '<', $fileIn or die "ERROR opening $fileIn: $!";
open my $out, '>', $fileOut or die "ERROR opening $fileOut: $!";
#print "Icell\t Isect\t Ichan\t cfc\t cfcq\t rtd\t";
my @fields;
while( <> ) {
next unless /;/;
chomp;
my @data = split /;/;
my($Icell,$Isect,$Ichan,$cfc,$cfcq,$rtd) = @data[$ICELL_INDEX,
$ISECT_INDEX, $ICHAN_INDEX, $CFC_INDEX, $CFCQ_INDEX, $RTD_INDEX];
if( $Icell >= 1 && $Isect >= 1 && $Ichan >= 1 && $cfc >= 1 &&
$cfcq >= 1 && $rtd >= 1) {
$rtd = sprintf "%.2f", $rtd/8/6.6/2;
push(@fields, $Icell,$Isect,$Ichan,$cfc,$cfcq,$rtd);
}
}
my @sorted_fields = sort {
$a->[0] <=> $b->[0]
|| $a->[1] <=> $b->[1]
|| $a->[2] <=> $b->[2]
|| $a->[3] <=> $b->[3]
|| $a->[4] <=> $b->[4]
|| $a->[5] <=> $b->[5]
} @fields;
print Dumper \@fields;
Thank you,
Chris
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/