jet speed wrote:
Guys,

Hello,

I am new to perl,  I am having trouble capturing the required output from
the command, with my limited knowlege i tried to put something togather. not
sure how to proceed beyond.

In a regular expression, when you want to capture part of a pattern you have to enclose that part in parentheses.


What i am trying to achieve
for certain drives ex : B3494_901, B3494_102 from the outputlist is to  find
the index number ex: 19 for drive  B3494_102 as in the output below
 then collect the different index number for these selected drives  in a
variable $idx = 1:2:19:5
  then i can use the $idx inside the command 'tpconfig -multiple_delete
-drive $idx '

Any help would be much appericiated.

Script

use strict;
use warnings;

my @tpd = `tpconfig -dl`;
my $idx;
my $drv;

foreach my $line (@tpd) {
chomp $line;
#$line  =~ m/^Index\s+\d\d/ && do {
$line  =~ m/^Index\w+/ && do {

It looks like the pattern you want is more like:

$line =~ /
         ^         # start of string
         \s+       # followed by whitespace
         Index     # match literal string
         \s+       # followed by whitespace
         ( \d+ )   # match and capture any numerical digits
         /x


$idx = $1;
print "$idx \n";
};
$line =~ /^Drive.*\s+\w\d+/ && do {

$line =~ /
         ^             # start of string
         \s+           # followed by whitespace
         Drive\ Name   # match literal string
         \s+           # followed by whitespace
         ( \w+ )       # match and capture any word characters
         /x


$drv =$1;
print "$drv /n";
};

}


(  tpconfig -dl  )command output below



       Drive Name              B3494_102
        Index                   19
        NonRewindDrivePath      /dev/rmt/23cbn
        Type                    hcart2
        Status                  DOWN
        SCSI Protection         SR (Global)
        Shared Access           Yes
        TLH(0)  IBM Device Number=974680
        Serial Number           000007897468

Different Drives

        Drive Name              B3494_901
        Drive Name              B3494_100
        Drive Name              B3494_102


John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov

--
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