foreach loop

I am trying to code a foreach loop, that will add all occurrences of the el=
ement rlptxat that have the same elements cell, sect and chan.

My failed attempt can be located in between the ### lines.

Below is what I have so far.

Thank you in advance,
Chris

#!/usr/bin/perl

use warnings;
use strict;
use File::Slurp;
my $filepath =3D 'C:/temp/PCMD';
my $output =3D 'output.txt';

my %cols =3D (
cell =3D> 31,
sect =3D> 32,
chan =3D> 38,
dist =3D> 261,
precis =3D> 262,
rlptxat =3D> 44,
);

my [at] records;

my [at] lines =3D read_file( $filepath );

chomp [at] lines;

foreach my $line ( [at] lines ) {

next unless $line =3D~ /;/;
my %record;
# this gets just what you want into a hash using a hash slice and an # arra=
y slice.
# the order of keys and values will be the same for any # given hash

[at] record{ keys %cols } =3D (split /;/, $line)[ values %cols ];
############################################################ ########


$record{rlptxat} =3D ( length($record{rlptxat})> 1 ) ? $record{rlptxat}{ce=
ll, sect, chan, dist}++ : '' ;
=09
############################################################ ########
=09
$record{carr} =3D
( $record{chan} =3D=3D 75 ) ? 2 :
( $record{chan} =3D=3D 1025 ) ? 2 : 1 ;
#1; # Common carrier
$record{dist} =3D ( length( $record{dist}) > 1 ) ? $record{dist}/6.6/8/2*1=
0/10 : '' ;

push( [at] records, \%record ) ;
}

my [at] sorted =3D sort {
$a->{cell} <=3D> $b->{cell} ||
$a->{sect} <=3D> $b->{sect} ||
$a->{carr} <=3D> $b->{carr}
} [at] records ;

my [at] report =3D map "$_->{cell}\t$_->{sect}\t$_->{carr}\t$_->{chan}\t$_->{di=
st}\n" , [at] sorted;



print [at] report ;
write_file($output, [at] report) ;

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ So, 20 März 2011 04:43 ] [ ID #2056893 ]

Re: foreach loop

Hi Chris,

On Sunday 20 Mar 2011 05:43:38 Chris Stinemetz wrote:
> I am trying to code a foreach loop, that will add all occurrences of the
> element rlptxat that have the same elements cell, sect and chan.
>
> My failed attempt can be located in between the ### lines.
>

If I understand your code correctly, then you should somehow serialise those
into the same hash key (possibly using Storable.pm/JSON/etc.). Don't use the
old $my_hash{$key1, $key2, $key3} notation. You may also opt to construct a
hash of hashes.

Now a few other comments:

> Below is what I have so far.
>
> Thank you in advance,
> Chris
>
> #!/usr/bin/perl
>
> use warnings;
> use strict;
> use File::Slurp;
> my $filepath = 'C:/temp/PCMD';
> my $output = 'output.txt';
>

You should add some empty lines here:

http://perl-begin.org/tutorials/bad-elements/#paragraphs

> my %cols = (
> cell => 31,
> sect => 32,
> chan => 38,
> dist => 261,
> precis => 262,
> rlptxat => 44,
> );
>
> my [at] records;
>
> my [at] lines = read_file( $filepath );
>
> chomp [at] lines;
>

You should read the file line-by-line, using:

< $fh >

Not slurp it.

> foreach my $line ( [at] lines ) {
>
> next unless $line =~ /;/;
> my %record;
> # this gets just what you want into a hash using a hash slice and an #
> array slice. # the order of keys and values will be the same for any #
> given hash
>
> [at] record{ keys %cols } = (split /;/, $line)[ values %cols ];
> ############################################################ ########
>
>
> $record{rlptxat} = ( length($record{rlptxat})> 1 ) ?
> $record{rlptxat}{cell, sect, chan, dist}++ : '' ;
>
> ############################################################ ########
>
> $record{carr} =
> ( $record{chan} == 75 ) ? 2 :
> ( $record{chan} == 1025 ) ? 2 : 1 ;
> #1; #
Common carrier
> $record{dist} = ( length( $record{dist}) > 1 ) ?
> $record{dist}/6.6/8/2*10/10 : '' ;
>
> push( [at] records, \%record ) ;
> }
>
> my [at] sorted = sort {
> $a->{cell} <=> $b->{cell} ||
> $a->{sect} <=> $b->{sect} ||
> $a->{carr} <=> $b->{carr}
> } [at] records ;
>
> my [at] report = map
> "$_->{cell}\t$_->{sect}\t$_->{carr}\t$_->{chan}\t$_->{dist}\ n" , [at] sorted;
>
>
>
> print [at] report ;

This map will consume a lot of memory, better do it using a foreach loop.

Regards,

Shlomi Fish

> write_file($output, [at] report) ;

--
------------------------------------------------------------ -----
Shlomi Fish http://www.shlomifish.org/
My Favourite FOSS - http://www.shlomifish.org/open-source/favourite/

"You are banished! You are banished! You are banished!
Hey! I'm just kidding!"

Please reply to list if it's a mailing list post - http://shlom.in/reply .

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Shlomi Fish [ So, 20 März 2011 09:06 ] [ ID #2056895 ]

Re: foreach loop

>>>>> "SF" == Shlomi Fish <shlomif [at] iglu.org.il> writes:

>> my [at] records;
>>
>> my [at] lines = read_file( $filepath );
>>
>> chomp [at] lines;
>>

SF> You should read the file line-by-line, using:

SF> < $fh >

SF> Not slurp it.

there is no reason to read it line by line. it is small enough to
slurp. slurping is faster and generally cleaner than line by
line. considering he was doing a poor version of slurping before, this
is much better.

>> print [at] report ;

SF> This map will consume a lot of memory, better do it using a foreach loop.

again, not. his file isn't that large. given he wants to print to stdout
and also a file, it is easier to build up the report one time and print
twice. simple and also faster.

uri

--
Uri Guttman ------ uri [at] stemsystems.com -------- http://www.sysarch.com --
----- Perl Code Review , Architecture, Development, Training, Support ------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Uri Guttman [ So, 20 März 2011 09:15 ] [ ID #2056896 ]

RE: foreach loop

So back to the question. How can I nest this foreach loop correctly to add =
all occurrences of the element rlptxat that have the same elements cell, se=
ct and chan in the array?

$record{rlptxat} =3D ( length($record{rlptxat})> 1 ) ? $record{rlptxat}{cel=
l, sect, chan, dist}++ : '' ;

Thank you very much.

Chris

#!/usr/bin/perl

use warnings;
use strict;
use File::Slurp;
my $filepath =3D 'C:/temp/PCMD';
my $output =3D 'output.txt';

my %cols =3D (
cell =3D> 31,
sect =3D> 32,
chan =3D> 38,
dist =3D> 261,
precis =3D> 262,
rlptxat =3D> 44,
);

my [at] records;

my [at] lines =3D read_file( $filepath );

chomp [at] lines;

foreach my $line ( [at] lines ) {

next unless $line =3D~ /;/;
my %record;
# this gets just what you want into a hash using a hash slice and an array =
slice.
# the order of keys and values will be the same for any # given hash

[at] record{ keys %cols } =3D (split /;/, $line)[ values %cols ];
############################################################ ########


$record{rlptxat} =3D ( length($record{rlptxat})> 1 ) ? $record{rlptxat}{ce=
ll, sect, chan, dist}++ : '' ;
=09
############################################################ ########
=09
$record{carr} =3D
( $record{chan} =3D=3D 75 ) ? 2 :
( $record{chan} =3D=3D 1025 ) ? 2 : 1 ;
#1; # Common carrier
$record{dist} =3D ( length( $record{dist}) > 1 ) ? $record{dist}/6.6/8/2*1=
0/10 : '' ;

push( [at] records, \%record ) ;
}

my [at] sorted =3D sort {
$a->{cell} <=3D> $b->{cell} ||
$a->{sect} <=3D> $b->{sect} ||
$a->{carr} <=3D> $b->{carr}
} [at] records ;

my [at] report =3D map "$_->{cell}\t$_->{sect}\t$_->{carr}\t$_->{chan}\t$_->{di=
st}\n" , [at] sorted;



print [at] report ;
write_file($output, [at] report) ;


--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ So, 20 März 2011 15:31 ] [ ID #2056897 ]

RE: foreach loop

At 8:31 AM -0600 3/20/11, Chris Stinemetz wrote:
>So back to the question. How can I nest this foreach loop correctly
>to add all occurrences of the element rlptxat that have the same
>elements cell, sect and chan in the array?
>
>$record{rlptxat} = ( length($record{rlptxat})> 1 ) ?
>$record{rlptxat}{cell, sect, chan, dist}++ : '' ;

That doesn't compile on my system under 'use strict:' because cell,
sect, chan, dist are "barewords", i.e. not variables or strings. They
will look more like parameterless functions to the Perl interpreter.
While they are allowed in some circumstances under 'strict', this is
not one of them.

You should make them explicitly strings, either as ('cell', 'sect',
'chan', 'dist') or as qw( cell sect chan dist) (note the absence of
commas in the second version.

Since you are assigning a hash slice, which has multiple values, you
should use [at] record{...} instead of $record{...}, which is a single,
scalar value:

[at] record{rlptxat} = ( length($record{rlptxat})> 1 ) ?
[at] record{rlptxat}{ qw(cell sect chan dist)}++ : '' ;

However, it is not clear what you are trying to do. The rlptxat
element is the 45th field on the input line. Are you trying to
replace that element with a reference to a hash containing 4 elements
from elsewhere in the line? Or are you trying to increment the values
in those other 4 elements.

Try writing multiple lines to do what you want. Don't try to stuff
everything into one line until you know Perl better. If you write a
bunch of lines to do something, people here will gladly tell you how
you could have done it in fewer lines.

--
Jim Gibson
Jim [at] Gibson.org

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Mo, 21 März 2011 00:58 ] [ ID #2056936 ]

RE: foreach loop

Jim,

Thanks for your feedback. I am actually trying to sum up all rlptxat elemen=
ts that have the same cell, sect, and chan elements in the array. I hope th=
is clarifies.

Thank you,

Chris

-----Original Message-----
From: Jim Gibson [mailto:jimsgibson [at] gmail.com]
Sent: Sunday, March 20, 2011 5:58 PM
To: beginners [at] perl.org
Subject: RE: foreach loop

At 8:31 AM -0600 3/20/11, Chris Stinemetz wrote:
>So back to the question. How can I nest this foreach loop correctly
>to add all occurrences of the element rlptxat that have the same
>elements cell, sect and chan in the array?
>
>$record{rlptxat} =3D ( length($record{rlptxat})> 1 ) ?
>$record{rlptxat}{cell, sect, chan, dist}++ : '' ;

That doesn't compile on my system under 'use strict:' because cell,
sect, chan, dist are "barewords", i.e. not variables or strings. They
will look more like parameterless functions to the Perl interpreter.
While they are allowed in some circumstances under 'strict', this is
not one of them.

You should make them explicitly strings, either as ('cell', 'sect',
'chan', 'dist') or as qw( cell sect chan dist) (note the absence of
commas in the second version.

Since you are assigning a hash slice, which has multiple values, you
should use [at] record{...} instead of $record{...}, which is a single,
scalar value:

[at] record{rlptxat} =3D ( length($record{rlptxat})> 1 ) ?
[at] record{rlptxat}{ qw(cell sect chan dist)}++ : '' ;

However, it is not clear what you are trying to do. The rlptxat
element is the 45th field on the input line. Are you trying to
replace that element with a reference to a hash containing 4 elements
from elsewhere in the line? Or are you trying to increment the values
in those other 4 elements.

Try writing multiple lines to do what you want. Don't try to stuff
everything into one line until you know Perl better. If you write a
bunch of lines to do something, people here will gladly tell you how
you could have done it in fewer lines.

--
Jim Gibson
Jim [at] Gibson.org

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Mo, 21 März 2011 03:03 ] [ ID #2056937 ]

RE: foreach loop

At 8:03 PM -0600 3/20/11, Chris Stinemetz wrote:
>Jim,
>
>Thanks for your feedback. I am actually trying to sum up all rlptxat
>elements that have the same cell, sect, and chan elements in the
>array. I hope this clarifies.

No, it doesn't. What is a "rlptxat" element? Where do they come from.

You can define a multiple-level hash with three nested keys (cell,
sect, chan) to hold the sum of all elements with the same key values
(a triple):

my %sum;

Find values of cell, sect, and chan:

$cell = ?
$sect = ?
$chan = ?

Add the value with these keys to the sum:

$sum{$cell}{$sect}{$chan} += ?

Iterate over the result:

for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
print "Value of sum($cell,$sect,$chan) is
$sum{$cell}{$sect}{$chan}\n";
}
}
}

Good luck!

--
Jim Gibson
Jim [at] Gibson.org

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Mo, 21 März 2011 06:33 ] [ ID #2056938 ]

Re: foreach loop

ä=BA=8E 2011-3-21 13:33, Jim Gibson =E5=86=99=E9=81=93:
> Iterate over the result:
>
> for my $cell ( sort keys %sum ) {
> for my $sect ( sort keys %{$sum{$cell}} ) {
> for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
> print "Value of sum($cell,$sect,$chan) is
> $sum{$cell}{$sect}{$chan}\n";
> }
> }
> }


And Data::Dumper could help you find out the complicated data structure.

terry.

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Terry [ Mo, 21 März 2011 06:48 ] [ ID #2056939 ]

Re: foreach loop

On Sun, Mar 20, 2011 at 10:06:25AM +0200, Shlomi Fish wrote:
> On Sunday 20 Mar 2011 05:43:38 Chris Stinemetz wrote:
> > I am trying to code a foreach loop, that will add all occurrences of the
> > element rlptxat that have the same elements cell, sect and chan.
<snip>
> > $record{dist}/6.6/8/2*10/10 : '' ;

Chris take this much of this calculation '6.6/8/2*10/10' outside the loop
and precalculate the constant portion then inside the loop only calculate
$record{dist}*$your_constant

> > my [at] report = map
> > "$_->{cell}\t$_->{sect}\t$_->{carr}\t$_->{chan}\t$_->{dist}\ n" , [at] sorted;
> > print [at] report ;
>
> This map will consume a lot of memory, better do it using a foreach loop.

In what way will the use of map here use any more memory than a foreach loop?

Thanks,
Mike
--
Satisfied user of Linux since 1997.
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Mike McClain [ Mo, 21 März 2011 06:46 ] [ ID #2056940 ]

RE: foreach loop

>>No, it doesn't. What is a "rlptxat" element? Where do they come from.

"rlptxat" is just an element indexed at 44 that has a value, in which I wou=
ld like to sum up, when it has the same elements "cell" "sect" and "carr" i=
n the record.

I hope this helps

Thank you,

Chris

At 8:03 PM -0600 3/20/11, Chris Stinemetz wrote:
>Jim,
>
>Thanks for your feedback. I am actually trying to sum up all rlptxat
>elements that have the same cell, sect, and chan elements in the
>array. I hope this clarifies.

No, it doesn't. What is a "rlptxat" element? Where do they come from.

You can define a multiple-level hash with three nested keys (cell,
sect, chan) to hold the sum of all elements with the same key values
(a triple):

my %sum;

Find values of cell, sect, and chan:

$cell =3D ?
$sect =3D ?
$chan =3D ?

Add the value with these keys to the sum:

$sum{$cell}{$sect}{$chan} +=3D ?

Iterate over the result:

for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
print "Value of sum($cell,$sect,$chan) is
$sum{$cell}{$sect}{$chan}\n";
}
}
}

Good luck!

--
Jim Gibson
Jim [at] Gibson.org

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Di, 22 März 2011 22:24 ] [ ID #2056987 ]

Re: foreach loop

On 3/22/11 Tue Mar 22, 2011 2:24 PM, "Chris Stinemetz"
<cstinemetz [at] cricketcommunications.com> scribbled:

>>> No, it doesn't. What is a "rlptxat" element? Where do they come from.
>
> "rlptxat" is just an element indexed at 44 that has a value, in which I would
> like to sum up, when it has the same elements "cell" "sect" and "carr" in the
> record.

OK. With this information and that from previous posts, your requirements
may be summaryized as follows:

You have a file with one record per line, each line consisting of a number
of fields. Within each record may be found values of cell, sect, carr, and
rlptxat at fixed column positions (e.g. 44 for rlptxat). You with to sum up
the values of the rlptxat field for all records having the same values of
cell, sect, and carr.

Correct?

> At 8:03 PM -0600 3/20/11, Chris Stinemetz wrote:
>> Jim,
>>
>> Thanks for your feedback. I am actually trying to sum up all rlptxat
>> elements that have the same cell, sect, and chan elements in the
>> array. I hope this clarifies.
>
> No, it doesn't. What is a "rlptxat" element? Where do they come from.
>
> You can define a multiple-level hash with three nested keys (cell,
> sect, chan) to hold the sum of all elements with the same key values
> (a triple):
>
> my %sum;
>
> Find values of cell, sect, and chan:

Let [at] record be the array containing the values from each row, as returned by
the split function, for example. Then:


my $cell = $record[?] # ? is column number for cell field
my $sect = $record[?] # ? is column number for sect field
my $chan = $record[?] # ? is column number for chan field
my $rlptxat = $record[44];

Or more succintly:

my( $cell, $sect, $chan, $rlptxat ) = [at] record[ ?, ?, ?, 44 ]; # ? as above

>
> Add the value with these keys to the sum:
>
$sum{$cell}{$sect}{$chan} += $rlptxat

>
> Iterate over the result:
>

for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
print "Value of sum($cell,$sect,$chan) is " .
$sum{$cell}{$sect}{$chan} . "\n";
}
}
}

And you are done.



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Di, 22 März 2011 23:21 ] [ ID #2056990 ]

RE: foreach loop

Jim,

You hit it right on. This is exactly what I am trying to do.

> OK. With this information and that from previous posts, your requirements=
may be summaryized as follows:

> You have a file with one record per line, each line consisting of a numbe=
r of fields. Within each record may be found values of cell, sect, carr, an=
d rlptxat at fixed
> column positions (e.g. 44 for rlptxat). You with to sum up the values of =
the rlptxat field for all records having the same values of cell, sect, and=
carr.

> Correct?

I took your advice but I am still unable to get the results I want.

Below is what I have with your code added. I also changed it from $fh to <D=
ATA> so you can get an idea of the input data
and copy and paste it if you need to.

Thanks for a all your help!

Chris

#!/usr/bin/perl

use warnings;
use strict;


#my $filepath =3D 'C:/temp/PCMD';
#my $filepath =3D 'C:/cygwin/home/cstinemetz/perl_programs/1.EVDOPCMD';
#my $outfile =3D 'output.txt';

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

my [at] records =3D ();

while (<DATA>){

next unless /;/;
chomp;
my [at] data =3D split /;/;
my($cell,$sect,$chan,$carr,$rlptxat,$dist,$precis) =3D [at] data[31,32,38,3=
9,44,261,262];

# my %sum

# $sum{$cell}{$sect}{$chan} +=3D $rlptxat

# for my $cell ( sort keys %sum ) {
# for my $sect ( sort keys %{$sum{$cell}} ) {
# for my $chan ( sort keys %{$sum{$cell}{$sect}} ) =
{
# print "Value of sum($cell,$sect,$chan) is " .
# $sum{$cell}{$sect}{$chan} . "\n";
# }
# }
# }



$carr =3D
( $chan =3D=3D 75 ) ? 2 :
( $chan =3D=3D 1025 ) ? 2 : 1 ; #nested ternary operator

$dist =3D
( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 : '' ;


push [at] records, {
cell =3D> $cell,
sect =3D> $sect,
carr =3D> $carr,
chan =3D> $chan,
RTD =3D> $dist,
Precis =3D> $precis,
};
}

my [at] sorted =3D sort {
$a->{cell} <=3D> $b->{cell} ||
$a->{sect} <=3D> $b->{sect} ||
$a->{carr} <=3D> $b->{carr}
} [at] records ;


for my $tuple ( [at] sorted ){
#print sprintf("%15s\t%10s\t%10s\n","$tuple->{cell}\t $tuple->{sect=
}\t $tuple->{carr}");
print "$tuple->{cell}\t $tuple->{sect}\t $tuple->{carr}\t $tuple->{chan=
}\t $tuple->{RTD}\n";
}
# for my $tuple ( [at] sorted ){
# print $out "$tuple->{cell} $tuple->{sect} $tuple->{carr} $tuple->{RTD=
}\n";
# }
# close $out;


__DATA__
PACE | EVDOPCMD | 33.0 | 101218 | 07 |
8;1023240136;1218;0;1;00a000001a2bcdc7;0310003147702376;ac01 6d4a;;;5.6.128.=
8;0;;;;;43234169;43234349;;;10000;1;1;;0;;19;5.6.128.22;172. 30.151.5;304;3;=
304;3;;;;;15;175;15;175;15;175;1;1798;1251;0;0;2;19;20;;;;;1 ;1;1;0;128;5.6.=
128.8;;;;;;;301;5.6.128.8;;;8;304;3;;;;1;43244037;;;1;18;432 34169;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43234416; 0;0;304;3;21;19=
;175;15;405;1;1;1;1;0;125;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;|
8;1023240137;1218;0;1;00a000001db74ace;;ac0174ca;43243423;16 78442111;5.6.12=
8.8;1;0;;43242544;43244207;43243423;43243647;;;1000;1;1;;0;; 19;5.6.128.26;;=
372;2;372;2;;43243012;0;43243562;15;175;15;175;15;175;1;;;;; 5;48;19;20;49;5=
0;;0;1;2;0;68;5.6.128.8;;;;;;;301;5.6.128.8;;;8;372;2;;;;1;4 3244207;;;1;18;=
43243423;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;1;;;;;;432425=
44;0;0;372;2;21;19;175;15;177;3;1;0;0;0;68;1;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|43 243753;0;0;372;=
2;21;19;175;15;177;3;1;1;1;0;71;1;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240138;1218;0;1;00a000002017ccdb;0310003147833882;aca3 44d7;;;5.6.128.=
13;0;;;;;43234160;43234358;;;10000;1;1;;0;;19;5.6.128.31;172 .30.151.5;320;2=
;320;2;;;;;15;75;15;75;15;75;1;2162;1317;0;0;2;19;20;;;;;1;1 ;1;0;104;5.6.12=
8.13;;;;;;;306;5.6.128.13;;;8;320;2;;;;1;43244164;;;1;18;432 34160;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43234404; 0;0;320;2;21;19=
;75;15;279;6;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;|
8;1023240139;1218;0;1;00a1000009237b21;0310003147774000;aca3 141e;;;5.6.128.=
13;0;;;;;43235644;43235820;;;9000;1;1;;0;;19;5.6.128.19;172. 30.151.5;502;1;=
502;1;;;;;15;175;15;175;15;175;1;48;79;0;0;2;19;20;;;;;1;1;1 ;0;124;5.6.128.=
13;;;;;;;306;5.6.128.13;;;8;502;1;;;;1;43244194;;;1;18;43235 644;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235887;0; 0;502;1;21;19;1=
75;15;27;1;1;1;1;0;127;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;|
8;1023240140;1218;0;1;00a100000fb342be;0310003147858660;ac21 c6e9;;;5.6.128.=
9;0;;;;;43235440;43235634;;;9000;1;1;;0;;19;5.6.128.31;172.3 0.151.5;383;2;3=
83;2;;;;;15;175;15;175;15;175;1;0;112;0;0;2;19;20;;;;;1;1;1; 0;104;5.6.128.9=
;;;;;;;302;5.6.128.9;;;8;383;2;;;;1;43244036;;;1;18;43235440 ;0;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235681;0;0;3 83;2;21;19;175;=
15;333;3;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;|
8;1023240141;1218;0;1;00a0000013260981;0310003147737788;ac21 cca6;;;5.6.128.=
9;0;;;;;43232669;43232853;;;12000;1;1;;0;;19;5.6.128.16;172. 30.151.5;497;2;=
497;2;;;;;15;175;15;175;15;175;1;2054;1515;0;0;2;19;20;;;;;1 ;1;1;0;124;5.6.=
128.11;;;;;;;302;5.6.128.11;;;8;497;2;;;;1;43244113;;;1;18;4 3232669;0;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4323292 3;0;0;497;2;21;=
19;175;15;207;1;1;1;1;0;123;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|
8;1023240142;1218;0;1;00a000001a294cbd;0310003147712684;ac83 5deb;;;5.6.128.=
12;0;;;;;43233939;43234151;;;10000;1;1;;0;;19;5.6.128.18;172 .30.151.5;429;1=
;429;1;;;;;15;175;15;175;15;175;1;1910;1248;0;0;2;19;20;;;;; 1;1;1;0;140;5.6=
..128.12;;;;;;;305;5.6.128.12;;;8;429;1;;;;1;43243864;;;1;18 ;43233939;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;432342 17;0;0;429;1;21=
;19;175;15;21;1;1;1;1;0;140;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|
8;1023240143;1218;0;1;00a00000132663ee;0310003147852767;ac83 d878;;;5.6.128.=
12;0;;;;;43238251;43238508;;;6000;1;2;;1;;19;5.6.128.29;172. 30.151.5;385;3;=
385;3;1;;;;15;175;15;175;15;175;1;184;141;0;0;2;17;18;;;;;1; 1;1;0;276;5.6.1=
28.11;2;0;;385;3;0;305;5.6.128.11;;;8;385;3;;;;1;43243876;;; 1;18;43238251;0=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4 3238569;0;2;380=
;1;21;19;175;15;48;14;1;1;1;0;273;1;;;;385;3;21;19;175;15;22 080;12;1;1;1;0;=
273;1;;;;303;2;21;19;175;15;16728;14;1;1;1;0;657;1;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240144;1218;0;1;00a000001a1b8d14;0310003147796298;acc2 c91f;;;5.6.128.=
14;0;;;;;43234802;43234980;;;9000;1;1;;0;;19;5.6.128.19;172. 30.151.5;354;1;=
354;1;;;;;15;175;15;175;15;175;1;126;178;0;0;2;19;20;;;;;1;1 ;1;0;328;5.6.12=
8.12;;;;;;;307;5.6.128.12;;;8;354;1;;;;1;43243741;;;1;18;432 34802;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235059; 0;0;354;1;21;19=
;175;15;132;3;1;1;1;0;328;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;|
8;1023240145;1218;0;1;00a000000e4d17b9;0310003147796012;acc2 f0ef;;;5.6.128.=
14;0;;;;;43243972;43244168;;;1000;1;2;;0;;19;5.6.128.31;172. 30.151.5;430;2;=
430;2;;;;;15;175;15;175;15;175;1;17;17;0;0;2;19;20;;;;;1;1;1 ;0;72;5.6.128.1=
4;;;;;;;307;5.6.128.14;;;8;430;2;;;;1;43244216;;;1;18;432439 72;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43244215;0;0 ;430;2;21;19;17=
5;15;258;3;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;|
8;1023240146;1218;0;1;00a0000012b8b162;;ac638e6c;43242138;24 82837299;5.6.12=
8.11;1;0;;43241711;43244042;43242139;43242387;;;2000;1;1;;0; ;19;5.6.128.17;=
;545;2;545;2;;43241739;0;43243339;15;175;15;175;15;175;1;;;; ;5;48;19;20;49;=
50;;1;1;2;0;760;5.6.128.11;;;;;;;304;5.6.128.11;;;8;545;2;;; ;1;43244042;;;1=
;18;43242139;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;1;;;;;;43=
241711;0;1;545;2;21;19;175;15;246;13;1;0;0;0;756;1;;;;;;;;75 ;1;21692;12;1;0=
;0;0;692;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;|43242547;0;1;545;2;21;19;175;15;246;12;1;1;1;0;757;1; ;;;;;;;75;1;216=
92;12;1;0;0;0;693;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;|
8;1023240147;1218;0;1;00a000001358ec87;0310003147853326;ac63 8797;;;5.6.128.=
11;0;;;;;43222634;43222818;;;22000;1;1;;0;;19;5.6.128.31;172 .30.151.5;507;1=
;507;1;;;;;15;175;15;175;15;175;1;11644;19238;0;0;2;19;20;;; ;;1;1;2;0;156;5=
..6.128.11;;;;;;;304;5.6.128.11;;;8;507;1;;;;1;43244372;;;1; 18;43222634;0;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4322 2885;0;1;509;2;=
21;19;175;15;267;14;1;1;1;0;154;1;;;;507;1;21;19;175;15;9024 ;9;1;1;1;0;154;=
1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|43=
238558;2;1;509;2;21;19;175;15;267;18;0;1;0;0;134;1;;;;507;1; 21;19;175;15;90=
26;7;1;1;1;1;150;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;|
8;1023240148;1218;0;1;00a000001a29071c;0310003147863277;aca3 4724;;;5.6.128.=
13;0;;;;;43235441;43235623;;;9000;1;1;;0;;19;5.6.128.23;172. 30.151.5;372;2;=
372;2;;;;;15;175;15;175;15;175;1;126;178;0;0;2;19;20;;;;;1;1 ;2;0;56;5.6.128=
..8;;;;;;;306;5.6.128.8;;;8;372;2;;;;1;43244232;;;1;18;43235 441;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235689;0;1 ;372;2;21;19;17=
5;15;177;3;1;1;1;0;55;1;;;;372;3;21;19;175;15;22080;11;1;1;1 ;0;55;1;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;|43239562;2;=
1;372;2;21;19;175;15;177;2;1;1;1;1;54;1;;;;372;3;21;19;175;1 5;22080;11;0;1;=
0;0;54;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;|
8;1023240149;1218;0;1;00a0000013e401b1;0310003147860965;aca3 3922;;;5.6.128.=
13;0;;;;;43235032;43235199;;;10000;1;1;;0;;19;5.6.128.20;172 .30.151.5;449;2=
;449;2;;;;;15;175;15;175;15;175;1;1052;1083;0;0;2;19;20;;;;; 1;1;1;0;56;5.6.=
128.8;;;;;;;306;5.6.128.8;;;8;449;2;;;;1;43244285;;;1;18;432 35032;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235265; 0;0;449;2;21;19=
;175;15;276;2;1;1;1;0;55;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|
8;1023240150;1218;0;1;00a100000fb15359;0310003147737648;ace2 cdc8;;;5.6.128.=
15;0;;;;;43237780;43237964;;;6000;1;2;;1;;19;5.6.128.20;172. 30.151.5;355;1;=
355;1;1;;;;15;175;15;175;15;175;1;248;1477;0;0;2;17;18;;;;;1 ;1;1;0;60;5.6.1=
28.15;2;0;;355;1;0;308;5.6.128.15;;;8;355;1;;;;1;43243860;;; 1;18;43237780;0=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4 3238031;0;0;355=
;1;21;19;175;15;27;1;1;1;1;0;61;1;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;|
8;1023240151;1218;0;1;00a000001a966e2b;0310003147852721;ace3 111a;;;5.6.128.=
15;0;;;;;43235234;43235462;;;9000;1;1;;0;;19;5.6.128.24;172. 30.151.5;355;1;=
355;1;;;;;15;75;15;75;15;75;1;130;181;0;0;2;19;20;;;;;1;1;1; 0;316;5.6.128.1=
5;;;;;;;308;5.6.128.15;;;8;355;1;;;;1;43244301;;;1;18;432352 34;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235534;0;0 ;355;1;21;19;75=
;15;27;1;1;1;1;0;319;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;|
8;1023240152;1218;0;1;00a000001a2aa9e9;0310003147764810;ac83 13a5;;;5.6.128.=
12;0;;;;;43233740;43233944;;43232949;11000;22;2206;;0;;19;5. 6.128.28;172.30=
..151.5;469;3;469;3;;;;;15;175;15;175;15;175;1;2011;1711;0;0 ;2;19;20;;;;;1;1=
;2;0;244;5.6.128.12;;;;;;;305;5.6.128.12;;;8;469;3;;;;1;4324 4272;;;1;18;432=
33740;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1 ;;;;;;43234029;=
1;1;469;3;21;19;175;15;396;21;1;1;1;1;245;1;;;;467;2;21;19;1 75;15;12097;23;=
1;0;1;1;261;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;|43238682;2;1;469;3;21;19;175;15;396;23;1;1;1;1;246 ;1;;;;467;2;21;=
19;175;15;12096;26;0;1;0;0;246;1;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240153;1218;0;1;00a10000092f5eef;0310003147730954;ac83 4e31;;;5.6.128.=
12;0;;;;;43198109;43198305;;;46000;1;1;;0;;19;5.6.128.24;172 .30.151.5;434;2=
;434;2;;;;;15;175;15;175;15;175;1;6461;14892;0;0;2;19;20;;;; ;1;1;1;0;92;5.6=
..128.12;;;;;;;305;5.6.128.12;;;8;434;2;;;;1;43244285;;;1;18 ;43198109;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;431983 78;0;0;434;2;21=
;19;175;15;324;2;1;1;1;0;81;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|
8;1023240154;1218;0;1;00a000001a2bb7e4;0310003147723872;ac21 bd70;;;5.6.128.=
9;0;;;;;43238663;43238829;;;6000;1;2;;1;;19;5.6.128.16;172.3 0.151.5;383;2;3=
83;2;1;;;;15;175;15;175;15;175;1;144;91;0;0;2;17;18;;;;;1;1; 2;0;76;5.6.128.=
9;2;0;;383;2;0;302;5.6.128.9;;;8;383;2;;;;1;43244263;;;1;18; 43238663;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;432388 92;0;1;383;3;21=
;19;175;15;501;19;1;1;1;0;74;1;;;;383;2;21;19;175;15;21312;1 ;1;1;1;0;74;1;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|43242=
749;2;1;383;3;21;19;175;15;501;17;0;1;0;0;74;1;;;;383;2;21;1 9;175;15;21312;=
2;1;1;1;1;74;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;|
8;1023240155;1218;0;1;00a100001304fa6a;0310003147779494;ac21 d0e9;;;5.6.128.=
9;0;;;;;43230982;43231183;;;14000;1;1;;0;;19;5.6.128.18;172. 30.151.5;383;2;=
383;2;;;;;15;175;15;175;15;175;1;712;2682;0;0;2;19;20;;;;;1; 1;1;0;128;5.6.1=
28.9;;;;;;;302;5.6.128.9;;;8;383;2;;;;1;43244337;;;1;18;4323 0982;0;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43231249;0 ;0;383;2;21;19;=
175;15;333;6;1;1;1;0;128;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|
8;1023240156;1218;0;1;00a000001adb5185;0310003147875158;aca3 33b2;;;5.6.128.=
13;0;;;;;43233513;43233705;;;11000;1;1;;0;;19;5.6.128.25;172 .30.151.5;514;1=
;514;2;;;;;15;75;15;75;15;75;1;1721;1286;0;0;2;19;20;;;;;1;1 ;2;0;112;5.6.12=
8.13;;;;;;;306;5.6.128.13;;;8;514;1;;;;1;43244419;;;1;18;432 33513;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43233772; 0;1;514;1;21;19=
;75;15;117;7;1;1;1;0;110;1;;;;514;2;21;19;75;15;18240;6;1;1; 1;0;110;1;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;|43240831;=
2;1;514;1;21;19;75;15;117;7;0;1;0;0;110;1;;;;514;2;21;19;75; 15;18240;6;1;1;=
1;1;110;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;|
8;1023240157;1218;0;1;00a0000015417cce;0310003147778365;aca3 205c;;;5.6.128.=
13;0;;;;;43233102;43233284;;;12000;1;1;;0;;19;5.6.128.26;172 .30.151.5;433;2=
;488;1;;;;;15;175;15;175;15;175;1;6686;1761;0;0;2;19;20;;;;; 1;1;2;0;232;5.6=
..128.13;;;;;;;306;5.6.128.10;;;8;433;2;;;;1;43244438;;;1;18 ;43233102;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;432333 58;0;1;433;2;21=
;19;175;15;279;17;1;1;1;0;242;1;;;;488;1;21;19;175;15;8448;1 8;1;1;1;0;242;1=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;|432=
43171;2;1;488;1;21;19;175;15;132;6;1;1;1;1;250;1;;;;490;2;21 ;19;175;15;1248=
2;25;0;1;0;0;282;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;|
8;1023240158;1218;0;1;00a100001306586e;0310003147860474;ac63 8f98;;;5.6.128.=
11;0;;;;;43187008;43187179;;;58000;1;1;;0;;19;5.6.128.24;172 .30.151.5;460;1=
;460;1;;;;;15;175;15;175;15;175;1;10468;20396;0;0;2;19;20;;; ;;1;1;1;0;128;5=
..6.128.11;;;;;;;304;5.6.128.11;;;8;460;1;;;;1;43244392;;;1; 18;43187008;0;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4318 7232;0;0;460;1;=
21;19;175;15;105;7;1;1;1;0;128;1;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
|
8;1023240159;1218;0;0;0000000050c36279;0310003147712640;ac62 3dde;;;5.6.128.=
11;0;;;;;43235866;43236049;;;9000;1;1;;0;;19;5.6.128.28;172. 30.151.5;301;2;=
301;2;;;;;15;175;15;175;15;175;1;325;77;0;0;2;19;20;;;;;1;1; 1;0;52;5.6.128.=
11;;;;;;;304;5.6.128.11;;;8;301;2;;;;1;43244456;;;1;18;43235 866;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43236115;0; 0;301;2;21;19;1=
75;15;180;3;1;1;1;0;52;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;|
8;1023240160;1218;0;1;00a0000023dc7816;0310003147858979;ac42 e9b5;;;5.6.128.=
10;0;;;;;43243634;43243854;;;1000;1;2;;0;;19;5.6.128.18;172. 30.151.5;390;2;=
390;2;;;;;15;175;15;175;15;175;1;16;16;0;0;2;19;20;;;;;0;1;1 ;0;144;5.6.128.=
13;;;;;;;303;5.6.128.13;;;8;390;2;;;;1;43243962;;;1;18;43243 634;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43243934;0; 1;390;2;21;19;1=
75;15;216;6;1;1;1;0;145;1;;;;390;3;21;19;175;15;24576;10;1;1 ;1;0;145;1;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;|;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;|
8;1023240161;1218;0;1;00a000000878afaf;0310003147759104;ac43 fa8d;;;5.6.128.=
10;0;;;;;43235666;43235869;;;9000;1;1;;0;;19;5.6.128.22;172. 30.151.5;560;3;=
560;3;;;;;15;175;15;175;15;175;1;49;93;0;0;2;19;20;;;;;1;1;2 ;0;72;5.6.128.1=
0;;;;;;;303;5.6.128.10;;;8;560;3;;;;1;43244363;;;1;18;432356 66;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235943;0;1 ;560;3;21;19;17=
5;15;351;4;1;1;1;0;72;1;;;;560;1;21;19;175;15;960;23;1;1;1;0 ;72;1;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;|43239776;2;1;=
560;3;21;19;175;15;351;7;1;1;1;1;66;1;;;;560;1;21;19;175;15; 961;25;0;1;0;0;=
82;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
|
8;1023240162;1218;0;1;00a10000092ccd02;0310003147741789;ace3 1333;;;5.6.128.=
15;0;;;;;43220501;43220714;;;24000;1;1;;0;;19;5.6.128.20;172 .30.151.5;361;1=
;361;1;;;;;15;175;15;175;15;175;1;91702;14979;121;0;2;19;20; ;;;;1;1;2;0;616=
;5.6.128.15;;;;;;;308;5.6.128.15;;;8;361;1;;;;1;43244423;;;1 ;18;43220501;0;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43 220782;0;1;359;=
1;21;19;175;15;57;23;1;1;1;0;616;1;;;;361;1;21;19;175;15;103 68;13;1;1;1;0;6=
16;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
|43224616;2;1;359;1;21;19;175;15;57;29;0;1;0;0;591;1;;;;361; 1;21;19;175;15;=
10371;13;1;1;1;1;615;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;|
8;1023240163;1218;0;0;0000000050d7fe0f;0310003147711696;ace3 7e8d;;;5.6.128.=
15;0;;;;;43235442;43235624;;;9000;1;1;;0;;19;5.6.128.17;172. 30.151.5;392;2;=
392;2;;;;;15;175;15;175;15;175;1;0;2552;0;0;2;19;20;;;;;1;1; 1;0;176;5.6.128=
..15;;;;;;;308;5.6.128.15;;;8;392;2;;;;1;43244424;;;1;18;432 35442;0;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235711;0 ;0;392;2;21;19;=
175;15;279;5;1;1;1;0;173;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|
8;1023240164;1218;0;1;00a000002015026d;0310003147776524;ac63 5992;;;5.6.128.=
11;0;;;;;43235434;43235617;;;9000;1;1;;0;;19;5.6.128.31;172. 30.151.5;514;1;=
514;1;;;;;15;75;15;75;15;75;1;1068;733;0;0;2;19;20;;;;;1;1;1 ;0;344;5.6.128.=
13;;;;;;;304;5.6.128.13;;;8;514;1;;;;1;43244561;;;1;18;43235 434;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235681;0; 0;514;1;21;19;7=
5;15;117;1;1;1;1;0;332;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;|

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Mi, 23 März 2011 04:58 ] [ ID #2057029 ]

RE: foreach loop

At 9:58 PM -0600 3/22/11, Chris Stinemetz wrote:
>Jim,
>
>You hit it right on. This is exactly what I am trying to do.
>
>> OK. With this information and that from previous posts, your
>>requirements may be summaryized as follows:
>
>> You have a file with one record per line, each line consisting of
>>a number of fields. Within each record may be found values of cell,
>>sect, carr, and rlptxat at fixed
>> column positions (e.g. 44 for rlptxat). You with to sum up the
>>values of the rlptxat field for all records having the same values
>>of cell, sect, and carr.
>
>> Correct?
>
>I took your advice but I am still unable to get the results I want.
>
>Below is what I have with your code added. I also changed it from
>$fh to <DATA> so you can get an idea of the input data
>and copy and paste it if you need to.


But you commented out my code, and deleted the part that prints the
results. Your code does not sum anything. You don't need to sort the
records to produce a sum.

Run your data through my code and see what you get. Then explain why
it does not do what you want.

--
Jim Gibson
Jim [at] Gibson.org

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Mi, 23 März 2011 06:50 ] [ ID #2057030 ]

RE: foreach loop

Thanks Jim,

I am still unable to sum up the field $rlptxat.

The error I am getting is below:

Scalar found where operator expected at ./jim.pl line 52, near "$sum"
(Missing semicolon on previous line?)
"my" variable %sum masks earlier declaration in same scope at ./jim.pl line=
54.
"my" variable %sum masks earlier declaration in same statement at ./jim.pl =
line 55.
"my" variable $cell masks earlier declaration in same statement at ./jim.pl=
line 55.
"my" variable %sum masks earlier declaration in same scope at ./jim.pl line=
56.
"my" variable $cell masks earlier declaration in same scope at ./jim.pl lin=
e 56.
"my" variable $sect masks earlier declaration in same scope at ./jim.pl lin=
e 56.
"my" variable %sum masks earlier declaration in same scope at ./jim.pl line=
58.
"my" variable $cell masks earlier declaration in same scope at ./jim.pl lin=
e 58.
"my" variable $sect masks earlier declaration in same scope at ./jim.pl lin=
e 58.
"my" variable $chan masks earlier declaration in same scope at ./jim.pl lin=
e 58.
syntax error at ./jim.pl line 52, near "$sum"
Global symbol "%sum" requires explicit package name at ./jim.pl line 52.
Global symbol "$cell" requires explicit package name at ./jim.pl line 52.
Global symbol "$sect" requires explicit package name at ./jim.pl line 52.
Global symbol "$chan" requires explicit package name at ./jim.pl line 52.
Global symbol "$rlptxat" requires explicit package name at ./jim.pl line 54=
..
Execution of ./jim.pl aborted due to compilation errors.

My code is as follows:

#!/usr/bin/perl

use warnings;
use strict;

my [at] records =3D ();

while (<DATA>){

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

$carr =3D
( $chan =3D=3D 75 ) ? 2 :
( $chan =3D=3D 1025 ) ? 2 : 1 ; #nested ternary operator

$dist =3D
( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 : '' ;

push [at] records, {
cell =3D> $cell,
sect =3D> $sect,
carr =3D> $carr,
chan =3D> $chan,
RTD =3D> $dist,
RLP1 =3D> $rlptxat1,
Precis =3D> $precis,
};
}

my [at] sorted =3D sort {
$a->{cell} <=3D> $b->{cell} ||
$a->{sect} <=3D> $b->{sect} ||
$a->{carr} <=3D> $b->{carr}
} [at] records ;

my %sum

$sum{$cell}{$sect}{$chan} +=3D $rlptxat

for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
print "Value of sum($cell,$sect,$chan) is " .
$sum{$cell}{$sect}{$chan} . "\n";
}
}
}

__DATA__
PACE | EVDOPCMD | 33.0 | 101218 | 07 |
8;1023240136;1218;0;1;00a000001a2bcdc7;0310003147702376;ac01 6d4a;;;5.6.128.=
8;0;;;;;43234169;43234349;;;10000;1;1;;0;;19;5.6.128.22;172. 30.151.5;304;3;=
304;3;;;;;15;175;15;175;15;175;1;1798;1251;0;0;2;19;20;;;;;1 ;1;1;0;128;5.6.=
128.8;;;;;;;301;5.6.128.8;;;8;304;3;;;;1;43244037;;;1;18;432 34169;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43234416; 0;0;304;3;21;19=
;175;15;405;1;1;1;1;0;125;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;|
8;1023240137;1218;0;1;00a000001db74ace;;ac0174ca;43243423;16 78442111;5.6.12=
8.8;1;0;;43242544;43244207;43243423;43243647;;;1000;1;1;;0;; 19;5.6.128.26;;=
372;2;372;2;;43243012;0;43243562;15;175;15;175;15;175;1;;;;; 5;48;19;20;49;5=
0;;0;1;2;0;68;5.6.128.8;;;;;;;301;5.6.128.8;;;8;372;2;;;;1;4 3244207;;;1;18;=
43243423;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;1;;;;;;432425=
44;0;0;372;2;21;19;175;15;177;3;1;0;0;0;68;1;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|43 243753;0;0;372;=
2;21;19;175;15;177;3;1;1;1;0;71;1;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240138;1218;0;1;00a000002017ccdb;0310003147833882;aca3 44d7;;;5.6.128.=
13;0;;;;;43234160;43234358;;;10000;1;1;;0;;19;5.6.128.31;172 .30.151.5;320;2=
;320;2;;;;;15;75;15;75;15;75;1;2162;1317;0;0;2;19;20;;;;;1;1 ;1;0;104;5.6.12=
8.13;;;;;;;306;5.6.128.13;;;8;320;2;;;;1;43244164;;;1;18;432 34160;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43234404; 0;0;320;2;21;19=
;75;15;279;6;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;|
8;1023240139;1218;0;1;00a1000009237b21;0310003147774000;aca3 141e;;;5.6.128.=
13;0;;;;;43235644;43235820;;;9000;1;1;;0;;19;5.6.128.19;172. 30.151.5;502;1;=
502;1;;;;;15;175;15;175;15;175;1;48;79;0;0;2;19;20;;;;;1;1;1 ;0;124;5.6.128.=
13;;;;;;;306;5.6.128.13;;;8;502;1;;;;1;43244194;;;1;18;43235 644;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235887;0; 0;502;1;21;19;1=
75;15;27;1;1;1;1;0;127;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;|
8;1023240140;1218;0;1;00a100000fb342be;0310003147858660;ac21 c6e9;;;5.6.128.=
9;0;;;;;43235440;43235634;;;9000;1;1;;0;;19;5.6.128.31;172.3 0.151.5;383;2;3=
83;2;;;;;15;175;15;175;15;175;1;0;112;0;0;2;19;20;;;;;1;1;1; 0;104;5.6.128.9=
;;;;;;;302;5.6.128.9;;;8;383;2;;;;1;43244036;;;1;18;43235440 ;0;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235681;0;0;3 83;2;21;19;175;=
15;333;3;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;|
8;1023240141;1218;0;1;00a0000013260981;0310003147737788;ac21 cca6;;;5.6.128.=
9;0;;;;;43232669;43232853;;;12000;1;1;;0;;19;5.6.128.16;172. 30.151.5;497;2;=
497;2;;;;;15;175;15;175;15;175;1;2054;1515;0;0;2;19;20;;;;;1 ;1;1;0;124;5.6.=
128.11;;;;;;;302;5.6.128.11;;;8;497;2;;;;1;43244113;;;1;18;4 3232669;0;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4323292 3;0;0;497;2;21;=
19;175;15;207;1;1;1;1;0;123;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|
8;1023240142;1218;0;1;00a000001a294cbd;0310003147712684;ac83 5deb;;;5.6.128.=
12;0;;;;;43233939;43234151;;;10000;1;1;;0;;19;5.6.128.18;172 .30.151.5;429;1=
;429;1;;;;;15;175;15;175;15;175;1;1910;1248;0;0;2;19;20;;;;; 1;1;1;0;140;5.6=
..128.12;;;;;;;305;5.6.128.12;;;8;429;1;;;;1;43243864;;;1;18 ;43233939;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;432342 17;0;0;429;1;21=
;19;175;15;21;1;1;1;1;0;140;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|
8;1023240143;1218;0;1;00a00000132663ee;0310003147852767;ac83 d878;;;5.6.128.=
12;0;;;;;43238251;43238508;;;6000;1;2;;1;;19;5.6.128.29;172. 30.151.5;385;3;=
385;3;1;;;;15;175;15;175;15;175;1;184;141;0;0;2;17;18;;;;;1; 1;1;0;276;5.6.1=
28.11;2;0;;385;3;0;305;5.6.128.11;;;8;385;3;;;;1;43243876;;; 1;18;43238251;0=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4 3238569;0;2;380=
;1;21;19;175;15;48;14;1;1;1;0;273;1;;;;385;3;21;19;175;15;22 080;12;1;1;1;0;=
273;1;;;;303;2;21;19;175;15;16728;14;1;1;1;0;657;1;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240144;1218;0;1;00a000001a1b8d14;0310003147796298;acc2 c91f;;;5.6.128.=
14;0;;;;;43234802;43234980;;;9000;1;1;;0;;19;5.6.128.19;172. 30.151.5;354;1;=
354;1;;;;;15;175;15;175;15;175;1;126;178;0;0;2;19;20;;;;;1;1 ;1;0;328;5.6.12=
8.12;;;;;;;307;5.6.128.12;;;8;354;1;;;;1;43243741;;;1;18;432 34802;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235059; 0;0;354;1;21;19=
;175;15;132;3;1;1;1;0;328;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;|
8;1023240145;1218;0;1;00a000000e4d17b9;0310003147796012;acc2 f0ef;;;5.6.128.=
14;0;;;;;43243972;43244168;;;1000;1;2;;0;;19;5.6.128.31;172. 30.151.5;430;2;=
430;2;;;;;15;175;15;175;15;175;1;17;17;0;0;2;19;20;;;;;1;1;1 ;0;72;5.6.128.1=
4;;;;;;;307;5.6.128.14;;;8;430;2;;;;1;43244216;;;1;18;432439 72;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43244215;0;0 ;430;2;21;19;17=
5;15;258;3;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;|
8;1023240146;1218;0;1;00a0000012b8b162;;ac638e6c;43242138;24 82837299;5.6.12=
8.11;1;0;;43241711;43244042;43242139;43242387;;;2000;1;1;;0; ;19;5.6.128.17;=
;545;2;545;2;;43241739;0;43243339;15;175;15;175;15;175;1;;;; ;5;48;19;20;49;=
50;;1;1;2;0;760;5.6.128.11;;;;;;;304;5.6.128.11;;;8;545;2;;; ;1;43244042;;;1=
;18;43242139;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;1;;;;;;43=
241711;0;1;545;2;21;19;175;15;246;13;1;0;0;0;756;1;;;;;;;;75 ;1;21692;12;1;0=
;0;0;692;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;|43242547;0;1;545;2;21;19;175;15;246;12;1;1;1;0;757;1; ;;;;;;;75;1;216=
92;12;1;0;0;0;693;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;|
8;1023240147;1218;0;1;00a000001358ec87;0310003147853326;ac63 8797;;;5.6.128.=
11;0;;;;;43222634;43222818;;;22000;1;1;;0;;19;5.6.128.31;172 .30.151.5;507;1=
;507;1;;;;;15;175;15;175;15;175;1;11644;19238;0;0;2;19;20;;; ;;1;1;2;0;156;5=
..6.128.11;;;;;;;304;5.6.128.11;;;8;507;1;;;;1;43244372;;;1; 18;43222634;0;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4322 2885;0;1;509;2;=
21;19;175;15;267;14;1;1;1;0;154;1;;;;507;1;21;19;175;15;9024 ;9;1;1;1;0;154;=
1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|43=
238558;2;1;509;2;21;19;175;15;267;18;0;1;0;0;134;1;;;;507;1; 21;19;175;15;90=
26;7;1;1;1;1;150;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;|
8;1023240148;1218;0;1;00a000001a29071c;0310003147863277;aca3 4724;;;5.6.128.=
13;0;;;;;43235441;43235623;;;9000;1;1;;0;;19;5.6.128.23;172. 30.151.5;372;2;=
372;2;;;;;15;175;15;175;15;175;1;126;178;0;0;2;19;20;;;;;1;1 ;2;0;56;5.6.128=
..8;;;;;;;306;5.6.128.8;;;8;372;2;;;;1;43244232;;;1;18;43235 441;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235689;0;1 ;372;2;21;19;17=
5;15;177;3;1;1;1;0;55;1;;;;372;3;21;19;175;15;22080;11;1;1;1 ;0;55;1;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;|43239562;2;=
1;372;2;21;19;175;15;177;2;1;1;1;1;54;1;;;;372;3;21;19;175;1 5;22080;11;0;1;=
0;0;54;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;|
8;1023240149;1218;0;1;00a0000013e401b1;0310003147860965;aca3 3922;;;5.6.128.=
13;0;;;;;43235032;43235199;;;10000;1;1;;0;;19;5.6.128.20;172 .30.151.5;449;2=
;449;2;;;;;15;175;15;175;15;175;1;1052;1083;0;0;2;19;20;;;;; 1;1;1;0;56;5.6.=
128.8;;;;;;;306;5.6.128.8;;;8;449;2;;;;1;43244285;;;1;18;432 35032;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235265; 0;0;449;2;21;19=
;175;15;276;2;1;1;1;0;55;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|
8;1023240150;1218;0;1;00a100000fb15359;0310003147737648;ace2 cdc8;;;5.6.128.=
15;0;;;;;43237780;43237964;;;6000;1;2;;1;;19;5.6.128.20;172. 30.151.5;355;1;=
355;1;1;;;;15;175;15;175;15;175;1;248;1477;0;0;2;17;18;;;;;1 ;1;1;0;60;5.6.1=
28.15;2;0;;355;1;0;308;5.6.128.15;;;8;355;1;;;;1;43243860;;; 1;18;43237780;0=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4 3238031;0;0;355=
;1;21;19;175;15;27;1;1;1;1;0;61;1;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;|
8;1023240151;1218;0;1;00a000001a966e2b;0310003147852721;ace3 111a;;;5.6.128.=
15;0;;;;;43235234;43235462;;;9000;1;1;;0;;19;5.6.128.24;172. 30.151.5;355;1;=
355;1;;;;;15;75;15;75;15;75;1;130;181;0;0;2;19;20;;;;;1;1;1; 0;316;5.6.128.1=
5;;;;;;;308;5.6.128.15;;;8;355;1;;;;1;43244301;;;1;18;432352 34;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235534;0;0 ;355;1;21;19;75=
;15;27;1;1;1;1;0;319;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;|
8;1023240152;1218;0;1;00a000001a2aa9e9;0310003147764810;ac83 13a5;;;5.6.128.=
12;0;;;;;43233740;43233944;;43232949;11000;22;2206;;0;;19;5. 6.128.28;172.30=
..151.5;469;3;469;3;;;;;15;175;15;175;15;175;1;2011;1711;0;0 ;2;19;20;;;;;1;1=
;2;0;244;5.6.128.12;;;;;;;305;5.6.128.12;;;8;469;3;;;;1;4324 4272;;;1;18;432=
33740;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1 ;;;;;;43234029;=
1;1;469;3;21;19;175;15;396;21;1;1;1;1;245;1;;;;467;2;21;19;1 75;15;12097;23;=
1;0;1;1;261;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;|43238682;2;1;469;3;21;19;175;15;396;23;1;1;1;1;246 ;1;;;;467;2;21;=
19;175;15;12096;26;0;1;0;0;246;1;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240153;1218;0;1;00a10000092f5eef;0310003147730954;ac83 4e31;;;5.6.128.=
12;0;;;;;43198109;43198305;;;46000;1;1;;0;;19;5.6.128.24;172 .30.151.5;434;2=
;434;2;;;;;15;175;15;175;15;175;1;6461;14892;0;0;2;19;20;;;; ;1;1;1;0;92;5.6=
..128.12;;;;;;;305;5.6.128.12;;;8;434;2;;;;1;43244285;;;1;18 ;43198109;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;431983 78;0;0;434;2;21=
;19;175;15;324;2;1;1;1;0;81;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;|
8;1023240154;1218;0;1;00a000001a2bb7e4;0310003147723872;ac21 bd70;;;5.6.128.=
9;0;;;;;43238663;43238829;;;6000;1;2;;1;;19;5.6.128.16;172.3 0.151.5;383;2;3=
83;2;1;;;;15;175;15;175;15;175;1;144;91;0;0;2;17;18;;;;;1;1; 2;0;76;5.6.128.=
9;2;0;;383;2;0;302;5.6.128.9;;;8;383;2;;;;1;43244263;;;1;18; 43238663;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;432388 92;0;1;383;3;21=
;19;175;15;501;19;1;1;1;0;74;1;;;;383;2;21;19;175;15;21312;1 ;1;1;1;0;74;1;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|43242=
749;2;1;383;3;21;19;175;15;501;17;0;1;0;0;74;1;;;;383;2;21;1 9;175;15;21312;=
2;1;1;1;1;74;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;|
8;1023240155;1218;0;1;00a100001304fa6a;0310003147779494;ac21 d0e9;;;5.6.128.=
9;0;;;;;43230982;43231183;;;14000;1;1;;0;;19;5.6.128.18;172. 30.151.5;383;2;=
383;2;;;;;15;175;15;175;15;175;1;712;2682;0;0;2;19;20;;;;;1; 1;1;0;128;5.6.1=
28.9;;;;;;;302;5.6.128.9;;;8;383;2;;;;1;43244337;;;1;18;4323 0982;0;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43231249;0 ;0;383;2;21;19;=
175;15;333;6;1;1;1;0;128;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|
8;1023240156;1218;0;1;00a000001adb5185;0310003147875158;aca3 33b2;;;5.6.128.=
13;0;;;;;43233513;43233705;;;11000;1;1;;0;;19;5.6.128.25;172 .30.151.5;514;1=
;514;2;;;;;15;75;15;75;15;75;1;1721;1286;0;0;2;19;20;;;;;1;1 ;2;0;112;5.6.12=
8.13;;;;;;;306;5.6.128.13;;;8;514;1;;;;1;43244419;;;1;18;432 33513;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43233772; 0;1;514;1;21;19=
;75;15;117;7;1;1;1;0;110;1;;;;514;2;21;19;75;15;18240;6;1;1; 1;0;110;1;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;|43240831;=
2;1;514;1;21;19;75;15;117;7;0;1;0;0;110;1;;;;514;2;21;19;75; 15;18240;6;1;1;=
1;1;110;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;|
8;1023240157;1218;0;1;00a0000015417cce;0310003147778365;aca3 205c;;;5.6.128.=
13;0;;;;;43233102;43233284;;;12000;1;1;;0;;19;5.6.128.26;172 .30.151.5;433;2=
;488;1;;;;;15;175;15;175;15;175;1;6686;1761;0;0;2;19;20;;;;; 1;1;2;0;232;5.6=
..128.13;;;;;;;306;5.6.128.10;;;8;433;2;;;;1;43244438;;;1;18 ;43233102;0;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;432333 58;0;1;433;2;21=
;19;175;15;279;17;1;1;1;0;242;1;;;;488;1;21;19;175;15;8448;1 8;1;1;1;0;242;1=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;|432=
43171;2;1;488;1;21;19;175;15;132;6;1;1;1;1;250;1;;;;490;2;21 ;19;175;15;1248=
2;25;0;1;0;0;282;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;|
8;1023240158;1218;0;1;00a100001306586e;0310003147860474;ac63 8f98;;;5.6.128.=
11;0;;;;;43187008;43187179;;;58000;1;1;;0;;19;5.6.128.24;172 .30.151.5;460;1=
;460;1;;;;;15;175;15;175;15;175;1;10468;20396;0;0;2;19;20;;; ;;1;1;1;0;128;5=
..6.128.11;;;;;;;304;5.6.128.11;;;8;460;1;;;;1;43244392;;;1; 18;43187008;0;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;4318 7232;0;0;460;1;=
21;19;175;15;105;7;1;1;1;0;128;1;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
|
8;1023240159;1218;0;0;0000000050c36279;0310003147712640;ac62 3dde;;;5.6.128.=
11;0;;;;;43235866;43236049;;;9000;1;1;;0;;19;5.6.128.28;172. 30.151.5;301;2;=
301;2;;;;;15;175;15;175;15;175;1;325;77;0;0;2;19;20;;;;;1;1; 1;0;52;5.6.128.=
11;;;;;;;304;5.6.128.11;;;8;301;2;;;;1;43244456;;;1;18;43235 866;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43236115;0; 0;301;2;21;19;1=
75;15;180;3;1;1;1;0;52;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;|
8;1023240160;1218;0;1;00a0000023dc7816;0310003147858979;ac42 e9b5;;;5.6.128.=
10;0;;;;;43243634;43243854;;;1000;1;2;;0;;19;5.6.128.18;172. 30.151.5;390;2;=
390;2;;;;;15;175;15;175;15;175;1;16;16;0;0;2;19;20;;;;;0;1;1 ;0;144;5.6.128.=
13;;;;;;;303;5.6.128.13;;;8;390;2;;;;1;43243962;;;1;18;43243 634;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43243934;0; 1;390;2;21;19;1=
75;15;216;6;1;1;1;0;145;1;;;;390;3;21;19;175;15;24576;10;1;1 ;1;0;145;1;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;|;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;|
8;1023240161;1218;0;1;00a000000878afaf;0310003147759104;ac43 fa8d;;;5.6.128.=
10;0;;;;;43235666;43235869;;;9000;1;1;;0;;19;5.6.128.22;172. 30.151.5;560;3;=
560;3;;;;;15;175;15;175;15;175;1;49;93;0;0;2;19;20;;;;;1;1;2 ;0;72;5.6.128.1=
0;;;;;;;303;5.6.128.10;;;8;560;3;;;;1;43244363;;;1;18;432356 66;0;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235943;0;1 ;560;3;21;19;17=
5;15;351;4;1;1;1;0;72;1;;;;560;1;21;19;175;15;960;23;1;1;1;0 ;72;1;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;|43239776;2;1;=
560;3;21;19;175;15;351;7;1;1;1;1;66;1;;;;560;1;21;19;175;15; 961;25;0;1;0;0;=
82;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
|
8;1023240162;1218;0;1;00a10000092ccd02;0310003147741789;ace3 1333;;;5.6.128.=
15;0;;;;;43220501;43220714;;;24000;1;1;;0;;19;5.6.128.20;172 .30.151.5;361;1=
;361;1;;;;;15;175;15;175;15;175;1;91702;14979;121;0;2;19;20; ;;;;1;1;2;0;616=
;5.6.128.15;;;;;;;308;5.6.128.15;;;8;361;1;;;;1;43244423;;;1 ;18;43220501;0;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43 220782;0;1;359;=
1;21;19;175;15;57;23;1;1;1;0;616;1;;;;361;1;21;19;175;15;103 68;13;1;1;1;0;6=
16;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
|43224616;2;1;359;1;21;19;175;15;57;29;0;1;0;0;591;1;;;;361; 1;21;19;175;15;=
10371;13;1;1;1;1;615;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;|
8;1023240163;1218;0;0;0000000050d7fe0f;0310003147711696;ace3 7e8d;;;5.6.128.=
15;0;;;;;43235442;43235624;;;9000;1;1;;0;;19;5.6.128.17;172. 30.151.5;392;2;=
392;2;;;;;15;175;15;175;15;175;1;0;2552;0;0;2;19;20;;;;;1;1; 1;0;176;5.6.128=
..15;;;;;;;308;5.6.128.15;;;8;392;2;;;;1;43244424;;;1;18;432 35442;0;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235711;0 ;0;392;2;21;19;=
175;15;279;5;1;1;1;0;173;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;|
8;1023240164;1218;0;1;00a000002015026d;0310003147776524;ac63 5992;;;5.6.128.=
11;0;;;;;43235434;43235617;;;9000;1;1;;0;;19;5.6.128.31;172. 30.151.5;514;1;=
514;1;;;;;15;75;15;75;15;75;1;1068;733;0;0;2;19;20;;;;;1;1;1 ;0;344;5.6.128.=
13;;;;;;;304;5.6.128.13;;;8;514;1;;;;1;43244561;;;1;18;43235 434;0;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43235681;0; 0;514;1;21;19;7=
5;15;117;1;1;1;1;0;332;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;|

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Mi, 23 März 2011 18:02 ] [ ID #2057039 ]

Re: foreach loop

On 3/23/11 Wed Mar 23, 2011 10:02 AM, "Chris Stinemetz"
<cstinemetz [at] cricketcommunications.com> scribbled:

> Thanks Jim,
>
> I am still unable to sum up the field $rlptxat.
>
> The error I am getting is below:
>
> Scalar found where operator expected at ./jim.pl line 52, near "$sum"
> (Missing semicolon on previous line?)



> my %sum

The above line needs a semicolon.

Please reduce the size of your posts. Maybe shorten the data by including
fewer rows and columns. The concepts will still be the same. Thanks.



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Mi, 23 März 2011 18:28 ] [ ID #2057040 ]

Re: foreach loop

On Mon, Mar 21, 2011 at 01:46, Mike McClain <m.d.mcclain [at] cox.net> wrote:
snip
>> > my [at] report = map
>> > "$_->{cell}\t$_->{sect}\t$_->{carr}\t$_->{chan}\t$_->{dist}\ n" , [at] sorted;
>> > print [at] report ;
>>
>> This map will consume a lot of memory, better do it using a foreach loop.
>
> In what way will the use of map here use any more memory than a foreach loop?
snip

The problem is that map returns a list. That list will exist in
memory as you copy it to [at] report. Just before the assignment is
finished, you will be using twice the amount of memory you expect.
Perl doesn't tend to return memory to the system, so, even though no
variable is using it, the memory used to hold the list will still be
held by perl. Happily, perl will reuse the memory, so, as long as it
isn't huge, it normally isn't a big deal.



--
Chas. Owens
wonkden.net
The most important skill a programmer can have is the ability to read.

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
chas.owens [ Mi, 23 März 2011 18:32 ] [ ID #2057041 ]

Re: foreach loop

On 3/23/11 Wed Mar 23, 2011 10:02 AM, "Chris Stinemetz"
<cstinemetz [at] cricketcommunications.com> scribbled:

In addition to the missing semicolon, the declaration of %sum must appear
before it is used, i.e. before the while(<DATA>) loop. The line adding
values of $rlptxat1 to the sum must appear inside the while loop, not after
it.

Run this program on your data:

#!/usr/local/bin/perl

use warnings;
use strict;

my %sum;
while (<DATA>){

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

$sum{$cell}{$sect}{$chan} += $rlptxat1 || 0;
}

for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
print "Value of sum($cell,$sect,$chan) is " .
$sum{$cell}{$sect}{$chan} . "\n";
}
}
}



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Mi, 23 März 2011 18:38 ] [ ID #2057042 ]

RE: foreach loop

That worked! Thanks Jim.

Chris

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Mi, 23 März 2011 20:00 ] [ ID #2057043 ]

RE: foreach loop

Jim,

I have another question.

How do I sort the results so it is from smallest to largest starting with $=
cell,$sect,$carr?

Thanks again for all you help. I am gaining a much better understanding.

This is what I got:

#!/usr/bin/perl

use warnings;
use strict;


#my $filepath =3D 'C:/temp/PCMD';
#my $filepath =3D 'C:/cygwin/home/cstinemetz/perl_programs/1.EVDOPCMD';
# my $outfile =3D 'output.txt';

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

my %sum;
#my [at] records =3D ();

while (<DATA>){

next unless /;/;
chomp;
my [at] data =3D split /;/;
my($cell,$sect,$chan,$carr,$rlptxat1,$rlptxat2,$rlptxat3,$rl ptxat4,$dis=
t,$precis) =3D [at] data[31,32,38,39,44,45,46,47,261,262];
=09
$carr =3D
( $chan =3D=3D 75 ) ? 2 :
( $chan =3D=3D 1025 ) ? 2 : 1 ; #nested ternary operator=09
=09
$dist =3D
( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 : 0 ;
=09
=09
$sum{$cell}{$sect}{$carr}{$dist} +=3D $rlptxat1 +=3D $rlptxat2 +=3D $rlptx=
at3 +=3D $rlptxat4 || 0 ; }

for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $carr ( sort keys %{$sum{$cell}{$sect}} ) {
for my $dist ( sort keys %{$sum{$cell}{$sect}{$carr}} ) {
print "$cell\t $sect\t $carr\t $dist\t" .
$sum{$cell}{$sect}{$carr}{$dist} . "\n";
}
}
}
}

And this is the current output:

10 2 1 0.710227272727273 439
100 1 1 0 469
100 2 1 0 3207
101 3 1 0 96
102 3 1 0 1623
107 1 1 0 48
109 2 1 0 49
11 2 1 0 48
110 3 1 0.681818181818182 49
114 3 1 0 48
121 2 1 2.78409090909091 3628


--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Mi, 23 März 2011 20:49 ] [ ID #2057045 ]

Re: foreach loop

On 3/23/11 Wed Mar 23, 2011 12:49 PM, "Chris Stinemetz"
<cstinemetz [at] cricketcommunications.com> scribbled:

> Jim,
>
> I have another question.
>
> How do I sort the results so it is from smallest to largest starting with
> $cell,$sect,$carr?

It is difficult to sort a multi-level, nested hash. I would transfer the
values to an array-of-arrays and sort that:

#!/usr/local/bin/perl

use warnings;
use strict;

my %sum;
while (<DATA>){
next unless /;/;
chomp;
my [at] data = split /;/;
my($cell,$sect,$chan,$carr,$rlptxat1,$dist,$precis) =
[at] data[31,32,38,39,44,261,262];
$sum{$cell}{$sect}{$chan} += $rlptxat1 || 0;
}

my [at] data;
for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $chan ( sort keys %{$sum{$cell}{$sect}} ) {
push( [at] data, [ $sum{$cell}{$sect}{$chan}, $cell, $sect, $chan ]);
}
}
}

for my $record ( sort { $a->[0] <=> $b->[0] } [at] data ) {
my( $val, $cell, $sect, $chan ) = [at] $record;
print "The value of ($cell,$sect,$chan) is $val\n";
}



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Do, 24 März 2011 02:20 ] [ ID #2057090 ]

RE: foreach loop

Thanks again Jim!

I have one more question..lol

I appreciate all your help!

I would like $dist be part of the print statement, but I am not sure how to=
code it correctly.

I am getting the following error:


Global symbol " [at] dist" requires explicit package name at ./jim.pl line 38.
Execution of ./banding aborted due to compilation errors.



#!/usr/bin/perl

use warnings;
use strict;

#my $filepath =3D 'C:/temp/PCMD';
# my $filepath =3D '/home/cstinemetz/perl_programs/1.EVDOPCMD';
# my $outfile =3D 'output.txt';

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

my %sum;

while (<DATA>){
next unless /;/;
chomp;
my [at] data =3D split /;/;
my($cell,$sect,$chan,$carr,$rlp1,$rlp2,$rlp3,$rlp4,$dist,$pr ecis) =3D
[at] data[31,32,38,39,44,45,46,47,261,262];

$carr =3D
( $cell < 299 && $chan =3D=3D 175 ) ? 2 :
( $chan =3D=3D 1025 ) ? 2 : 1 ; #nested ternary operator
=09
$dist =3D
( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 : 0 ;


$sum{$cell}{$sect}{$carr} +=3D $rlp1 +=3D $rlp2 +=3D $rlp3 +=3D $rlp4 || 0=
; }
=09


my [at] data;
for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $carr ( sort keys %{$sum{$cell}{$sect}} ) {
push( [at] data, [$dist[ $sum{$cell}{$sect}{$carr}, $cell, $sect, $carr ]])=
;
}
}
}

for my $record ( sort {
$a->[1] <=3D> $b->[1] ||
$a->[2] <=3D> $b->[2] ||
$a->[3] <=3D> $b->[3] } [at] data ) {
my( $val, $cell, $sect, $carr, $dist ) =3D [at] $record;
print "$cell\t $sect\t $carr\t $dist\t $val\n"; }




__DATA__
PACE | EVDOPCMD | 33.0 | 101218 | 07 |
8;1023240136;1218;0;1;00a000001a2bcdc7;0310003147702376;ac01 6d4a;;;5.6.128.=
8;0;;;;;43234169;43234349;;;10000;1;1;;0;;19;5.6.128.22;172. 30.151.5;304;3;=
304;3;;;;;15;175;15;175;15;175;1;1798;1251;0;0;2;19;20;;;;;1 ;1;1;0;128;5.6.=
128.8;;;;;;;301;5.6.128.8;;;8;304;3;;;;1;43244037;;;1;18;432 34169;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43234416; 0;0;304;3;21;19=
;175;15;405;1;1;1;1;0;125;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;|
8;1023240137;1218;0;1;00a000001db74ace;;ac0174ca;43243423;16 78442111;5.6.12=
8.8;1;0;;43242544;43244207;43243423;43243647;;;1000;1;1;;0;; 19;5.6.128.26;;=
372;2;372;2;;43243012;0;43243562;15;175;15;175;15;175;1;;;;; 5;48;19;20;49;5=
0;;0;1;2;0;68;5.6.128.8;;;;;;;301;5.6.128.8;;;8;372;2;;;;1;4 3244207;;;1;18;=
43243423;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;1;;;;;;432425=
44;0;0;372;2;21;19;175;15;177;3;1;0;0;0;68;1;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|43 243753;0;0;372;=
2;21;19;175;15;177;3;1;1;1;0;71;1;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|
8;1023240138;1218;0;1;00a000002017ccdb;0310003147833882;aca3 44d7;;;5.6.128.=
13;0;;;;;43234160;43234358;;;10000;1;1;;0;;19;5.6.128.31;172 .30.151.5;320;2=
;320;2;;;;;15;75;15;75;15;75;1;2162;1317;0;0;2;19;20;;;;;1;1 ;1;0;104;5.6.12=
8.13;;;;;;;306;5.6.128.13;;;8;320;2;;;;1;43244164;;;1;18;432 34160;0;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;43234404; 0;0;320;2;21;19=
;75;15;279;6;1;1;1;0;64;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;=
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;|

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Do, 24 März 2011 17:04 ] [ ID #2057096 ]

Re: foreach loop

On 3/24/11 Thu Mar 24, 2011 9:04 AM, "Chris Stinemetz"
<cstinemetz [at] cricketcommunications.com> scribbled:

> I would like $dist be part of the print statement, but I am not sure how to
> code it correctly.

The value of $dist will vary for each row. If you want to print out the
correct value of $dist that corresponds to the value of the sum, then you
will have to store the value.

>
> I am getting the following error:
>
>
> Global symbol " [at] dist" requires explicit package name at ./jim.pl line 38.
> Execution of ./banding aborted due to compilation errors.

See note below line 38.

>
>
>
> #!/usr/bin/perl
>
> use warnings;
> use strict;
>
> #my $filepath = 'C:/temp/PCMD';
> # my $filepath = '/home/cstinemetz/perl_programs/1.EVDOPCMD';
> # my $outfile = 'output.txt';
>
> # open my $fh, '<', $filepath or die "ERROR opening $filepath: $!";
> # open my $out, '>', $outfile or die "ERROR opening $outfile: $!";
>
> my %sum;
>
> while (<DATA>){
> next unless /;/;
> chomp;
> my [at] data = split /;/;
> my($cell,$sect,$chan,$carr,$rlp1,$rlp2,$rlp3,$rlp4,$dist,$pr ecis) =
> [at] data[31,32,38,39,44,45,46,47,261,262];
>
> $carr =
> ( $cell < 299 && $chan == 175 ) ? 2 :
> ( $chan == 1025 ) ? 2 : 1 ; #nested ternary operator
>
> $dist =
> ( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 : 0 ;
>
>
> $sum{$cell}{$sect}{$carr} += $rlp1 += $rlp2 += $rlp3 += $rlp4 || 0 ; }

I see you are changing your program requirements. You are now accumulating
multiple rlp values instead of one.

This line has two problems. The first is that you have placed the closing
brace at the end of the line where it is easy to lose. Perhaps this is why
you have mistakenly used the $dist variable in the lines below, where it is
not in scope. The second problem is the multiple '+=' operators. Do you know
what they will do in this case? I don't. I would have to run a test to see
what the effect is on the intermediate variables. You might be doing more
arithmetic than is necessary.

If you want to accumulate the four variables, why not just do:

$sum{$cell}{$sect}{$carr} += ($rlp1 + $rlp2 + $rlp3 + $rlp4) || 0 ;

> my [at] data;
> for my $cell ( sort keys %sum ) {
> for my $sect ( sort keys %{$sum{$cell}} ) {
> for my $carr ( sort keys %{$sum{$cell}{$sect}} ) {
> push( [at] data, [$dist[ $sum{$cell}{$sect}{$carr}, $cell, $sect, $carr ]]);

The syntax "$dist[ ... ]" tells the Perl parser to access an element of the
array [at] dist. The proper way to include $dist with the other values would be:

push( [at] data, [$sum{$cell}{$sect}{$carr}, $cell, $sect, $carr, $dist ] );

but if you use that, you will get a compiler error, as $dist is not in scope
here. You need to store the value of $dist when you read each record, and
retrieve it before using it here.

You will have to figure out how to save and retrieve the value of dist for
each record. There will be one dist value for each record, but the value of
the sum will be the sum of several records, so I think you have inconsistent
logic in what you are trying to do. Which of the several dist values do you
want printed with the sum values?

> }
> }
> }
>
> for my $record ( sort {
> $a->[1] <=> $b->[1] ||
> $a->[2] <=> $b->[2] ||
> $a->[3] <=> $b->[3] } [at] data ) {
> my( $val, $cell, $sect, $carr, $dist ) = [at] $record;

This line is good, but you did not store your values this way. See above.



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Fr, 25 März 2011 01:30 ] [ ID #2057127 ]

Re: foreach loop

Jim Gibson wrote:
> On 3/24/11 Thu Mar 24, 2011 9:04 AM, "Chris Stinemetz"
> <cstinemetz [at] cricketcommunications.com> scribbled:
>>
>>
>> $sum{$cell}{$sect}{$carr} += $rlp1 += $rlp2 += $rlp3 += $rlp4 || 0 ; }
>
> I see you are changing your program requirements. You are now accumulating
> multiple rlp values instead of one.
>
> This line has two problems. The first is that you have placed the closing
> brace at the end of the line where it is easy to lose. Perhaps this is why
> you have mistakenly used the $dist variable in the lines below, where it is
> not in scope. The second problem is the multiple '+=' operators. Do you know
> what they will do in this case? I don't. I would have to run a test to see
> what the effect is on the intermediate variables. You might be doing more
> arithmetic than is necessary.

Yes it is. That is modifying $rlp1, $rlp2 and $rlp3 as well as
$sum{$cell}{$sect}{$carr}.

And because the = operator is right associative $rlp3 is modified first
and then $rlp2 and then $rlp1 and finally $sum{$cell}{$sect}{$carr}.

Observe:

$ perl -le'
package JWK;
use Carp;
sub TIESCALAR {
my $class = shift;
my $value = shift || 0;
carp "JWK::TIESCALAR got $value";
return bless \$value, $class;
}
sub FETCH {
my $self = shift;
confess "wrong type" unless ref $self;
croak "usage error" if [at] _;
carp "JWK::FETCH returned $$self";
return $$self;
}
sub STORE {
my $self = shift;
confess "wrong type" unless ref $self;
$$self = shift;
carp "JWK::STORE set to $$self";
croak "usage error" if [at] _;
}
sub DESTROY {
my $self = shift;
confess "wrong type" unless ref $self;
carp "JWK::DESTROY $$self";
}

package main;
tie my $x, "JWK", 23;
tie my $y, "JWK", 34;
tie my $z, "JWK", 45;

my $count = $x + $y + $z;
print "\$count = $count";
my $count = $x += $y += $z;
print "\$count = $count";
'
JWK::TIESCALAR got 23 at -e line 31
JWK::TIESCALAR got 34 at -e line 32
JWK::TIESCALAR got 45 at -e line 33
JWK::FETCH returned 34 at -e line 35
JWK::FETCH returned 23 at -e line 35
JWK::FETCH returned 45 at -e line 35
$count = 102
JWK::FETCH returned 45 at -e line 37
JWK::FETCH returned 34 at -e line 37
JWK::STORE set to 79 at -e line 37
JWK::FETCH returned 79 at -e line 37
JWK::FETCH returned 23 at -e line 37
JWK::STORE set to 102 at -e line 37
JWK::FETCH returned 102 at -e line 37
$count = 102
JWK::DESTROY 45 at -e line 0
JWK::DESTROY 79 at -e line 0
JWK::DESTROY 102 at -e line 0




John
--
Any intelligent fool can make things bigger and
more complex... It takes a touch of genius -
and a lot of courage to move in the opposite
direction. -- Albert Einstein

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
jwkrahn [ Fr, 25 März 2011 03:23 ] [ ID #2057128 ]

Re: foreach loop

Jim,

I am getting really close to finishing up this program. perl is lot's
of fun and I appreciate all your help!

The output is giving me the data I am looking for except for the
following issues:

How would I add the correct code to make sure the array has a numeric
value before the loop iterations begin?

I am getting the following error multiple times and when I look at the
output there are blanks. How can I eliminate this?

Argument "" isn't numeric in addition (+) at ./DOband.pl line 30, <$fh> line 3.

Thank you in advance.

My complete program is posted at the bottom.



>>
>> $sum{$cell}{$sect}{$carr} += $rlp1 += $rlp2 += $rlp3 += $rlp4 || 0 ; }
>>

> If you want to accumulate the four variables, why not just do:
>
> $sum{$cell}{$sect}{$carr} += ($rlp1 + $rlp2 + $rlp3 + $rlp4) || 0 ;
>

I changed my code to your suggestion. The output is the same, but
yours is much cleaner so I kept yours. Thank you.

#!/usr/bin/perl

use warnings;
use strict;

my $filepath = 'C:/temp/PCMD';
#my $filepath = '/home/cstinemetz/perl_programs/1.EVDOPCMD';
#my $outfile = 'output.txt';

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

my %sum;

while (<$fh>){
next unless /;/;
chomp;
my [at] data = split /;/;
my($cell,$sect,$chan,$carr,$rlp1,$rlp2,$rlp3,$rlp4,$dist,$pr ecis) =
[at] data[31,32,38,39,44,45,46,47,261,262];

$carr =
( $cell < 299 && $chan == 175 ) ? 2 :
( $chan == 1025 ) ? 2 : 1 ; #nested ternary operator

$dist = sprintf "%.1f",
( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 : 0 ;

$sum{$cell}{$sect}{$carr}{$dist} += ($rlp1 + $rlp2 + $rlp3 + $rlp4) || 0 ; }

my [at] data;
for my $cell ( sort keys %sum ) {
for my $sect ( sort keys %{$sum{$cell}} ) {
for my $carr ( sort keys %{$sum{$cell}{$sect}} ) {
for my $dist ( sort keys %{$sum{$cell}{$sect}{$carr}} ) {
push( [at] data, [ $sum{$cell}{$sect}{$carr}{$dist}, $cell, $sect,
$carr, $dist,]);
}
}
}
}

for my $record ( sort {
$a->[1] <=> $b->[1] ||
$a->[2] <=> $b->[2] ||
$a->[3] <=> $b->[3] ||
$a->[4] <=> $b->[4] } [at] data ) {
my( $val, $cell, $sect, $carr, $dist ) = [at] $record;
print "$cell\t $sect\t $carr\t $dist\t $val\n"; }

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Fr, 25 März 2011 03:36 ] [ ID #2057129 ]

Re: foreach loop

On 25/03/2011 02:36, Chris Stinemetz wrote:
> Jim,
>
> I am getting really close to finishing up this program. perl is lot's
> of fun and I appreciate all your help!
>
> The output is giving me the data I am looking for except for the
> following issues:
>
> How would I add the correct code to make sure the array has a numeric
> value before the loop iterations begin?
>
> I am getting the following error multiple times and when I look at the
> output there are blanks. How can I eliminate this?
>
> Argument "" isn't numeric in addition (+) at ./DOband.pl line 30,<$fh> line 3.
>
> Thank you in advance.
>
> #!/usr/bin/perl
>
> use warnings;
> use strict;
>
> my $filepath = 'C:/temp/PCMD';
> #my $filepath = '/home/cstinemetz/perl_programs/1.EVDOPCMD';
> #my $outfile = 'output.txt';
>
> open my $fh, '<', $filepath or die "ERROR opening $filepath: $!";
> #open my $out, '>', $outfile or die "ERROR opening $outfile: $!";
>
> my %sum;
>
> while (<$fh>){
> next unless /;/;
> chomp;
> my [at] data = split /;/;
> my($cell,$sect,$chan,$carr,$rlp1,$rlp2,$rlp3,$rlp4,$dist,$pr ecis) =
> [at] data[31,32,38,39,44,45,46,47,261,262];
>
> $carr =
> ( $cell< 299&& $chan == 175 ) ? 2 :
> ( $chan == 1025 ) ? 2 : 1 ; #nested ternary operator
>
> $dist = sprintf "%.1f",
> ( length( $dist )> 1 ) ? $dist/6.6/8/2*10/10 : 0 ;
>
> $sum{$cell}{$sect}{$carr}{$dist} += ($rlp1 + $rlp2 + $rlp3 + $rlp4) || 0 ; }
>
> my [at] data;
> for my $cell ( sort keys %sum ) {
> for my $sect ( sort keys %{$sum{$cell}} ) {
> for my $carr ( sort keys %{$sum{$cell}{$sect}} ) {
> for my $dist ( sort keys %{$sum{$cell}{$sect}{$carr}} ) {
> push( [at] data, [ $sum{$cell}{$sect}{$carr}{$dist}, $cell, $sect, $carr, $dist,]);
> }
> }
> }
> }
>
> for my $record ( sort {
> $a->[1]<=> $b->[1] ||
> $a->[2]<=> $b->[2] ||
> $a->[3]<=> $b->[3] ||
> $a->[4]<=> $b->[4] } [at] data ) {
> my( $val, $cell, $sect, $carr, $dist ) = [at] $record;
> print "$cell\t $sect\t $carr\t $dist\t $val\n"; }
>

Your error is because the $rlp variables can sometimes be empty strings
as well as numeric values, in which case they should be skipped over.
Also, since $carr is never used again after being extracted from $data[39], I
would write things this way.

my ($cell, $sect, $chan, $dist, $precis) = [at] data[31, 32, 38, 261, 262];

$dist = sprintf '%.1f', length $dist > 1 ? $dist / 6.6 / 8 / 2*10 / 10 : 0;

my $carr = ( $cell < 299 && $chan == 175 ) || $chan == 1025 ? 2 : 1;

for my $i (44..47) {
my $rlp = $data[$i];
$sum{$cell}{$sect}{$carr}{$dist} += $rlp if $rlp;
}

HTH,

Rob

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Rob Dixon [ Fr, 25 März 2011 05:35 ] [ ID #2057130 ]

Re: foreach loop

Thanks Rob. That seems to have done the trick. I understand this is a
for loop, but do you mind breaking it down line by line so I fully
understand what it is doing?

Thank you,

Chris
>
> =A0for my $i (44..47) {
> =A0 =A0my $rlp =3D $data[$i];
> =A0 =A0$sum{$cell}{$sect}{$carr}{$dist} +=3D $rlp if $rlp;
> =A0}
>

--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Chris Stinemetz [ Fr, 25 März 2011 17:11 ] [ ID #2057137 ]

Re: foreach loop

On 3/25/11 Fri Mar 25, 2011 9:11 AM, "Chris Stinemetz"
<chrisstinemetz [at] gmail.com> scribbled:

> Thanks Rob. That seems to have done the trick. I understand this is a
> for loop, but do you mind breaking it down line by line so I fully
> understand what it is doing?

My name isn't Rob, but I can give you a line-by-line description.

>>
>> =A0for my $i (44..47) {

$i is a lexically-scoped scalar variable that will have the values 44, 45,
46, and 47 through four successive iterations of the statements enclosed by
the for loop.

>> =A0 =A0my $rlp =3D $data[$i];

$rlp is a lexically-scoped variable that will be assigned a value fetched
from the 44th, 45th, etc. element of the [at] data array.

>> =A0 =A0$sum{$cell}{$sect}{$carr}{$dist} +=3D $rlp if $rlp;

The value assigned to $rlp in the previous line will be added to the value
in the element of a four-level nested hash as indexed by the values of
$cell, $sect, $carr, and $dist if and only if the value of $rlp evaluates t=
o
true. This will be true for all values other than '', 0, and undef, so no
addition of undefined values will occur. Numerical conversions of the hash
element and the scalar variable are possible, depending upon what their
values are.

>> =A0}

End of for loop.



--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Jim Gibson [ Fr, 25 März 2011 19:31 ] [ ID #2057139 ]
Perl » gmane.comp.lang.perl.beginners » foreach loop

Vorheriges Thema: Garbled lines
Nächstes Thema: TS UDP packet capture using Perl.