in reply to No Such File or Directory Error

The lines read via the angle-operator still contain a newline that you need to get rid of if you want to use it as a file name.

So you need to replace

while (<FH>) { push (@lines, $_); }
with
while (<FH>) { chomp; # removes the newline from $_ push (@lines, $_); }