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