use strict; use warnings; my @lookfor = qw|PROTOCOL HOST PORT SID GLOBAL_NAME|; my $search_regex = "(" . join( "|", @lookfor) . ")"; my %item; my $inputstr = ; chomp $inputstr; while ($inputstr =~/$search_regex\s+(\S+)/g){ $item{$1} = $2; } print qq|$_ = $item{$_}\n| for sort keys %item; __DATA__ orclNetDescString DESCRIPTION ADDRESS PROTOCOL TCP HOST doa.sdasd.sdf.sdf. PORT 1521 CONNECT_DATA SID devdb GLOBAL_NAME devdb.discoveringmorclSid devdb