$ ./test_indirect.pl Bareword found where operator expected at ./test_indirect.pl line 63, near "new IO::File" (Do you need to predeclare new?) syntax error at ./test_indirect.pl line 63, near "new IO::File" Global symbol "$fh" requires explicit package name (did you forget to declare "my $fh"?) at ./test_indirect.pl line 64. Execution of ./test_indirect.pl aborted due to compilation errors.