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

Thanks for the quick reply. I'll try this out. Do have a question though, maybe there's no way to do it, but is there a way I can just pass the data from

$res->result()

Since the data will change from device to device, just trying to find a way to make it as simple as possible. Thanks again, Chris

Replies are listed 'Best First'.
Re^3: problems parsing data
by ikegami (Patriarch) on Jul 09, 2010 at 03:58 UTC
    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();

      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()]));
        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');
Re^3: problems parsing data
by ikegami (Patriarch) on Jul 09, 2010 at 03:55 UTC
    Yes, the left hand side of =~ can be any expression, not just a variable.