in reply to create gagillian files in current directory

#!/usr/bin/Perl

perl (and *nix) are case sensitive so that is usually spelled:

#!/usr/bin/perl


open(FILE1,$file1);

You should verify that the file opened correctly:

open FILE1, '<', $file1 or die "Cannot open '$file1' because: $!";


if (($filename eq "") || (defined $filename eq 'false')) {

defined $filename will never be eq to the string 'false'