#!/usr/bin/perl use strict; my $string = join ( "\n", ); #slurp it all into a string with newlines my( $configuration, $memory, $serial_number ) = ( $string =~ /System Configuration:\s+([\w\s]*?)\n.*Memory size:\s+(\d+).*Chassis Serial Number\W+(\w+)/s ); print( "System Configuration: '$configuration'\n", "Memory Size: '$memory'\n", "Serial Number: '$serial_number'\n\n", ); __DATA__ ============================ FW Version ============================ la la la System Configuration: Oracle Corporation sun4v SPARC Enterprise T5220 la la Memory size: 65408 Megabytes Version ------------------------------------------------------------ Sun System Firmware 7.4.7 2014/01/14 18:48 ====================== System PROM revisions ======================= Version ------------------------------------------------------------ OBP 4.33.6.e 2014/01/14 15:19 Chassis Serial Number --------------------- FDL10792DE la la #### System Configuration: 'Oracle Corporation sun4v SPARCE nterprise T5220' Memory Size: '65408' Serial Number: 'FDL10792DE'