Check for definedness of $opts{o} before using it
getopts('vnsj:f:o:i:', \%opts);
my $dirout;
-if (-d $opts{o}) {
- # output is a directory
- $dirout = 1;
-} else {
- # output is a single file, imply -i <ext> unless -i has also been specified
- if ($opts{o} =~ /\.(\w+)$/) {
- $opts{i} = $1 unless exists $opts{i};
+if (defined $opts{o}) {
+ if (-d $opts{o}) {
+ # output is a directory
+ $dirout = 1;
} else {
- print "Specified -o <file>, but '$opts{o}' has no extension.\n";
- exit 1;
+ # output is a single file, imply -i <ext> unless -i has also been specified
+ if ($opts{o} =~ /\.(\w+)$/) {
+ $opts{i} = $1 unless exists $opts{i};
+ } else {
+ print "Specified -o <file>, but '$opts{o}' has no extension.\n";
+ exit 1;
+ }
}
}