Thanks Chris

I am trying to build a sub routine that computes the following equation

When $data[262] has the value of 1
Take the value of $data[261] and return the solution of: 
$data[261]+13)/6.6/8/2*10)/10
When I call the sub routine before I push the array I would like to return the 
value in 0.1 decimal.


#!/usr/bin/perl

use warnings;
use strict;

my $filepath = 'C:/temp/PCMD';
my $outfile  = 'output.txt';

open my $fh, '<', $filepath or die "ERROR opening $filepath: $!";
open my $out, '>', $outfile or die "ERROR opening $outfile: $!";

my @array = ();

while (<$fh>){

                next unless /;/;
                chomp;
    my @data = split /;/;
    my($cell,$sect,$chan,$carr,$dist,$precis) = 
($data[31],$data[32],$data[38],$data[39],$data[261],$data[262]);

                                if ($data[38] == 15)
                                {
                                                $data[39] = 2;
                                } else {
                                                $data[39] = 1;
                                }

                                                if( length($data[261]) > 12)
                                                {
                                                                $dist = getDist;
                                                }
                                                else
                                                {
                                                                $dist = "";
                                                }


                push @array, {
                                cell => $cell,
                                sect => $sect,
                                carr => $carr,
                                RTD  => $RTD,
                };
}

my @sorted = map { $_->[0] }
              sort {
                 $a->[1] <=> $b->[1]
                 || $a->[2] <=> $b->[2]
                 || $a->[3] <=> $b->[3]
              }
              map { [ $_, $_->{cell}, $_->{sect}, $_->{carr} ]}
              @array;


for my $tuple ( @sorted ){
    print "$tuple->{cell} $tuple->{sect} $tuple->{carr} $tuple->{RTD}\n";
                }
for my $tuple ( @sorted ){
    print $out "$tuple->{cell} $tuple->{sect} $tuple->{carr} $tuple->{RTD}\n";
                }
                close $out;




###############################################################
# Round Trip Delay
# Indicates the precision of the Round Trip Delay. If 1, Round
# Trip Delay is in units of 1/8 chip (0.125). If 32, Round Trip Delay
# is in units of 4 chip.


Reply via email to