in reply to Re^2: problems parsing data
in thread problems parsing data

ah silly me, I just clued in that $res->result() returns a list of lines. Ignore my earlier posts.
my ($image) = map { /^SystemImage:\s*([^\n]+)/ ? $1 : () } $res->resul +t();

Replies are listed 'Best First'.
Re^4: problems parsing data
by zonevbkr (Initiate) on Jul 15, 2010 at 20:22 UTC

    Well, at the risk of showing what little I know, I've added your suggestion and how have:

    use lib qw(blib lib); #use strict; use warnings; use Getopt::Long; use Pod::Usage; use Data::Dumper; use Opsware::NAS::Client; my($user,$pass,$host) = ('a', 'b', 'localhost'); my $help = 0; my $ip = '10.226.1.52'; #my $ip = '$tc_device_ip$'; my $nas = Opsware::NAS::Client->new(); my $res = $nas->login(-user => $user, -pass => $pass, -host => $host, +-nosession => '0'); $res = $nas->show_deviceinfo(ip => $ip); unless ($res->ok()) { printf STDERR ("*** error: %s\n", $res->error_message()); exit(1); } my ($image) = map { /^SystemImage:\s*([^\n]+)/ ? $1 : () } $res->resul +t(); print("$image\n"); # flash:c3750-advipservicesk9-mz.122-46.SE.bin $nas->logout();

    but am getting an error of: Use of uninitialized value in string at move_image.pl line 34 So, why can't I print $image, seems like a simple thing to do.

      It means the regex never matched. Please provide the output of
      use Data::Dumper; print(Dumper([$res->result()]));

        Here is the output: Again, thanks for the help with this.

        $VAR1 = [ 'DeviceType: L3Switch DeviceInformation: Contact: NOC 123-456-7890 Hostname: wano121 Location: JCDC Manufacturer: Cisco Model: WS-C3750G-48TS-S (C3750 series) OSVer: 12.2(46)SE Processor: WS-C3750G-48TS (PowerPC405) ROMVer: 12.2(25r)SEE4 SerialNumber: FOC1325Z4CF,FOC1325Z688 ServiceTypes: Power SystemImage: flash:c3750-advipservicesk9-mz.122-46.SE.bin SystemMemory: 134209536 ' ];
      Some release notes at Cisco state that the line: my($user,$pass,$host) = ('a', 'b', 'localhost'); should be: my( $user, $pass, $host) = ('a', 'b', 'localhost');