Hi Monks,
just stumbled on the following behaviour of File::Basename::basename.
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use File::Basename;
say "$File::Basename::VERSION\n";
my $filename = '';
say $filename, ' - basename($filename) -> ', basename($filename);
say $filename, ' - dirname($filename) -> ', dirname($filename);
The basename of an empty string is
./ which I really didn't expect. To cite the documentation:
dirname() and basename() emulate the behaviours, and quirks, of the shell and C functions of the same name. See each function's documentation for details.
But
basename of empty string on bash is an empty string. The same for C library basename.
Is this a bug?
McA