Anls/01.00/windows abc/02.00/windows core/03.00/windows route/04.00/windows . . . #### my $file = "/home/test.txt"; if (-e $file) { my @list = ("Anls", "core", "route"); open(FH, '<', $file) or die $!; foreach my $x (@list) { while(){ my $pattern; if (defined($pattern) && ($pattern =~ /$x\/(.*)\/(.*)/)) { my $version = $1; print "$x: $version\n"; } } } close(FH); }