You could simplify the split to \n\n+
or something similar, but then you need to modify something else to keep the records newline separated. I'm willing to go to pretty extreme lengths to keep print if /RAM socket/ && !/Not Installed/
clean just because of personal taste. TIMTOWTDI.
dmidecode | perl -e 'undef $/;/RAM socket/ && !/Not Installed/ && s/$/\n\n/ && print for split /\n\n+/, <>'
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.