McA has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks,
just stumbled on the following behaviour of File::Basename::basename.
The basename of an empty string is ./ which I really didn't expect. To cite the documentation:#!/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);
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Weird File::Basename::basename (yes, but)
by Anonymous Monk on Mar 26, 2013 at 15:26 UTC | |
by hdb (Monsignor) on Mar 26, 2013 at 15:43 UTC | |
by Anonymous Monk on Mar 26, 2013 at 16:42 UTC | |
|
Re: Weird File::Basename::basename
by RichardK (Parson) on Mar 26, 2013 at 16:11 UTC | |
|
Re: Weird File::Basename::basename
by McA (Priest) on Mar 27, 2013 at 04:29 UTC |