use strict;
my %CELL;
my %CELL_TYPE_COUNT;
while (my $line = <DATA>) {
        if ($line =~ /CELL\s+(\d+)\s+(.+?),.+?HEH/) { # take CELL number into
$1 and the information after the number (and before the first comma)
into $2
                $CELL{$1}{$2}++;
                $CELL_TYPE_COUNT{$2}++;
        }
}

# header
print "CELL,".join(",",sort keys %CELL_TYPE_COUNT)."\n";
# body
foreach my $cellNo (sort keys %CELL) { # you can use map function, but
it never sits well on my brain
        print "$cellNo";
        foreach my $info (sort keys %CELL_TYPE_COUNT) {
                print ", $CELL{$cellNo}{$info}";
        }
        print "\n";
}

__DATA__
 00 REPT:CELL 20 CDM 1, CRC, HEH
    SUPPRESSED MSGS: 0
    ERROR TYPE: ONEBTS MODULAR CELL ERROR
    SET: DS1-MLG ASSOCIATION CHANGE
    MLG 1 DS1 1,2

 00 REPT:CELL 20 CDM 1, CRC, HEH
    SUPPRESSED MSGS: 0
    ERROR TYPE: ONEBTS MODULAR CELL ERROR
    SET: DS1-MLG ASSOCIATION CHANGE
    MLG 1 DS1 1,2

Output:
CELL,CDM 1
20, 2

Let me know if it's correct.

On Sat, Oct 15, 2011 at 11:55 AM, Chris Stinemetz
<chrisstinem...@gmail.com> wrote:
> On Sat, Oct 15, 2011 at 1:12 PM, Leo Susanto <leosusa...@gmail.com> wrote:
>> Chris, You need to let us know what do you want the script to do,
>> believe me, writing the script is the easy part.
>>
>
>
> Okay I will try to clarify. For right now there is only one type of
> line that I am interested in from the input file.
>
> I will try to break this down sequentually in how I am trying to
> construct this program:
>
> Read the input file and only keep lines that  have a line with the
> text pattern: HEH
>
> Now the tricky part I am having some difficulty with:
>
> sort and count each occurence of different types of HEH grouped by the
> CELL number.
>
> And finally datafill the format table with the results.
>
> So for example:
>
>  00 REPT:CELL 20 CDM 1, CRC, HEH
>     SUPPRESSED MSGS: 0
>     ERROR TYPE: ONEBTS MODULAR CELL ERROR
>     SET: DS1-MLG ASSOCIATION CHANGE
>     MLG 1 DS1 1,2
>
>  00 REPT:CELL 20 CDM 1, CRC, HEH
>     SUPPRESSED MSGS: 0
>     ERROR TYPE: ONEBTS MODULAR CELL ERROR
>     SET: DS1-MLG ASSOCIATION CHANGE
>     MLG 1 DS1 1,2
>
> Would output something like:
>
> Cell    CBR     CDM1    CDM2    CDM3    TFU1    TFU2    CCU     EVM     TXAMP 
>   CTRM
> ---------       --------        --------        ---------       ---------     
>   --------        ---------       --------        --------        --------    
>     --------
> 20              2
>
>
> I hope this helps clarify.
>
> Thanks for all the help,
>
> Chris
>

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to