On 7/4/08, John W. Krahn <[EMAIL PROTECTED]> wrote:
>
> jet speed wrote:
>
>> Hi All,
>>
>
> Hello,
>
> I put togather a piece of code with some help, to capture the output as
>> below from a file "cxout1" as below. I am sure this can be written in few
>> lines or even differnt way of getting the same out put with use of hash
>> etc.
>> Kindly help me to optimize the code. Any help would be much appericated.
>>
>> output from the script
>> ---------------------------------
>>
>> The Clarion Array Serial Number is CK200061101100
>>
>> LUN INFO         POLICY-TYPE             OWNER           PSEUDO DEVICE
>> LUN 415          policy=CLAROpt          current=SP A
>>  emcpower3a
>> LUN 815          policy=CLAROpt          current=SP B
>>  emcpower4a
>>
>> file contents cxout1
>>
>> -----------------------------
>>
>> Pseudo name=emcpower3a
>> CLARiiON ID=CK200061101100 [JAZZ]
>> Logical device ID=600601601496160012288D48703EDB11 [LUN 415]
>> state=alive; policy=CLAROpt; priority=0; queued-IOs=0
>> Owner: default=SP A, current=SP A
>>
>> ==============================================================================
>> ---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats
>> ---
>> ### HW Path                 I/O Paths    Interf.   Mode    State  Q-IOs
>> Errors
>>
>> ==============================================================================
>> 2310 [EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]       c3t20d0s0 
>> SP A0     active  alive      0
>> 1
>> 2310 [EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]       c3t21d0s0 
>> SP A1     active  alive      0
>> 1
>>
>> Pseudo name=emcpower4a
>> CLARiiON ID=CK200061101100 [JAZZ]
>> Logical device ID=6006016014961600625987643E38DB11 [LUN 815]
>> state=alive; policy=CLAROpt; priority=0; queued-IOs=0
>> Owner: default=SP B, current=SP B
>>
>> ==============================================================================
>> ---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats
>> ---
>> ### HW Path                 I/O Paths    Interf.   Mode    State  Q-IOs
>> Errors
>>
>> ==============================================================================
>> 2310 [EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]       c3t20d1s0 
>> SP A0     active  alive      0
>> 1
>> 2310 [EMAIL PROTECTED]/[EMAIL PROTECTED]/[EMAIL PROTECTED]       c3t21d1s0 
>> SP A1     active  alive      0
>> 1
>>
>>
>>
>> my code
>>
>
> [ snip code ]
>
>
> This appears to work:
>
> #!/usr/bin/perl
> use warnings;
> use strict;
>
> $/ = '';  # set paragraph mode
> my $filename = 'cxout1';
>
> open FILE, '<', $filename or die "Could not open $filename: $!";
>
> my ( @IDS, @data, %seen );
> while ( <FILE> ) {
>    my ( $ID ) = /ID=(CK\d+)/;
>    push @IDS, $ID unless $seen{ $ID }++;
>    push @data, [ /\[(LUN\s+\d+)]/, /(policy=[^;]+);/, /\b(current=.*\S)/,
> /Pseudo name=(.*\S)/ ];
>    }
>
> print "\nThe Clariion Array Serial Number is @IDS\n\n";
> print "LUN INFO\t POLICY-TYPE\t\t OWNER\t\t PSEUDO DEVICE\n";
> for ( @data ) {
>    print join( "\t\t ", @$_ ), "\n";
>    }
>
> __END__
>
>
> So you are still running Data General hardware?
>
>
> John
> --
> Perl isn't a toolbox, but a small machine shop where you
> can special-order certain sorts of tools at low cost and
> in short order.                            -- Larry Wall
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/





 Hi John,

Excellent ! Thanks, tested work's perfect.

Yes, the Hardware used to be DG, its EMC now.

Thanks again
Js

Reply via email to