while( ) { m[ (?= ^ .*? DisplayName \s+ \S+ \s+ ( Adobe \s Reader \s 8 ) \n ) (?= ^ .*? DisplayVersion \s+ \S+ \s+ ( [^\n]+ ) \n ) ]xsm and say "Name:$1 Version:$2"; } #### while( ) { m[ (?= ^ .*? DisplayName \s+ \S+ \s+ ( Adobe \s Reader \s 8 | Another \s app \s description | Yet \s Another \s Application ) \n ) (?= ^ .*? DisplayVersion \s+ \S+ \s+ ( [^\n]+ ) \n ) ]xsm and say "Name:$1 Version:$2"; }