in reply to opening files where name is a concatenation of variable
open (OUTHANDLE, ">$basedir . /output/file.txt") or die ;
You're trying to open a file that doesn't exist.
There's no concatenating operator there, you clobber them all in one single string, the $basedir, the dot with spaces ( . ), and /output/file.txt. Should you use $! variable, Perl would tell you what was wrong.
perl -le 'print ">$basedir . /output/file.txt"'
results . /output/file.txt
You actually want,
my $basedir = "results";
my $filename = "$basedir . /output/file.txt";
open (OUTHANDLE, ">$filename") or die "can't open ($filename): $!\n";
can't open (result . /output/file.txt): No such file or directory
but this is not good although it probably works. Use suggestions from other replies.
open (OUTHANDLE, ">$basedir" . "/output/file.txt") or die $!;
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!