mycompany----engineer=====itdept-----33 #### use Time::HiRes qw(time); sub Extract { my ($Line,$Name,$Pattern) = @_; my (@Arr,$CallId); print "Extract begins with the input line $Line\n"; print time,"\n"; @Arr = ($Line =~ m/$Pattern/g); print time,"\n"; $Age = $Arr[$#Arr]; print time,"\n"; $Details{$Age}{$Name} = \@Arr if defined($Age); print time,"\n"; } $str = "mycompany----engineer=====itdept-----33"; $Name = "MyName"; $Pattern = "([a-z]+)\-+([a-z]+)\=+([a-z]+)\-+([0-9]+)"; Extract($str,$Name,$Pattern);