. . . if (defined($opt{'o'})) { $output = $opt{'o'}; $output =~ s/[\0-\x1f]//g; if ($output =~ /^([-\/\w\.]+)$/) { $output = $1; } else { die("Bad path or file name: '$output'\n"); } } else { $output = '/dev/stdout'; } . . . open(my $out, $mode, $output) or die("Could not open '$output' for writing: $!\n");