my $plf = shift; print "\nPLF in recursion:$plf\n"; open my $fh, '<', $plf or die "could not open '$plf' $!"; foreach (my $line = <$fh>) { print "LINE:$line"; #prints ,just the first line if($line =~ /\/(.+?\.plf)$/) { print "LINE CONDITION:$line"; #never comes here #print $1; $match_plf_name = $1; next if $match_plf_name eq $plf; push @recursive_plfs ,$match_plf_name; recursion($match_plf_name); } } }