.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'
};
|