if ( -e $file ) { open FH, $file or die "Failed: $! trying open existing $file\n"; # read it open FH, '>', $file or die "Failed: $! trying to re-open $file\n"; } else { open FH, '>'.$file or die "Failed: $! trying to create new $file\n"; # do stuff }