my @msg = ; my $msg = join("", @msg); my $f = _extractInfoFromMsg($msg); my %f = %$f; print 'NEW TICKET NUMBER: ' . $f{TICKET_NUMBER} . "\n"; print 'OLD TICKET NUMBER: ' . $f{OLD_TICKET_NUMBER} . "\n"; print ' MESSAGE TYPE: ' . $f{MESSAGE_TYPE} . "\n"; print ' LEAD TIME: ' . $f{LEAD_TIME} . "\n"; sub _extractInfoFromMsg { $_ = shift; my %fields; $_ =~ /TICKET NUMBER-+\[(.*?)\]/; $fields{TICKET_NUMBER} = $1; $_ =~ /OLD TICKET NUMBER-+\[(.*?)\]/; $fields{OLD_TICKET_NUMBER} = $1; $_ =~ /MESSAGE TYPE-+\[(.*?)\]\s+LEAD TIME-+\[(.*?)\]/; $fields{MESSAGE_TYPE} = $1; $fields{LEAD_TIME} = $2; return \%fields; } __DATA__ TICKET NUMBER--[051580160] OLD TICKET NUM-[051540724] MESSAGE TYPE---[NORMAL] LEAD TIME--[72] PREPARED-------[06/07/05] #### D:\user\punkish>test.pl NEW TICKET NUMBER: 051580160 OLD TICKET NUMBER: 051580160 MESSAGE TYPE: NORMAL LEAD TIME: 72 #### NEW TICKET NUMBER: 051580160 OLD TICKET NUMBER: 051540724 MESSAGE TYPE: NORMAL LEAD TIME: 72