just stumbled on the following behaviour of File::Basename::basename.
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.
of empty string on bash is an empty string. The same for C library basename.
Is this a bug?