in reply to Re: Parse variables from @output
in thread Parse variables from @output
You have:
.qq/ cisco Nexus 3048 Chassis ("48x1GE + 4x10G Supervisor)\n/
but your match wants cisco to appear at the start of a line:
$details{'Chassis'} = $1 if (/^cisco Nexus (\S+)/i);
You will need to allow for some whitespace in front of cisco, for example by allowing for \s*:
$details{'Chassis'} = $1 if (/^\s*cisco Nexus (\S+)/i);
But "start of the line" (^) means "start of the whole string" to Perl unless you also tell it to match after a newline using the /m modifier:
$details{'Chassis'} = $1 if (/^\s*cisco Nexus (\S+)/mi);
Adding that, I get:
$VAR1 = { 'Chassis' => '3048' }; $VAR1 = { 'Main Memory' => '483328K/40960K', 'Chassis' => 'CISCO2901/K9' }; $VAR1 = { 'Chassis' => 'WS-C3550-48', 'Main Memory' => '65526K/8192K' };
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Parse variables from @output
by Cisco_Dave (Acolyte) on Nov 15, 2019 at 09:22 UTC | |
by Corion (Patriarch) on Nov 15, 2019 at 09:31 UTC | |
by Cisco_Dave (Acolyte) on Nov 15, 2019 at 10:15 UTC |