in reply to extract file name from a dynamic path

Use File::Basename's basename. It's part of Perl.

Replies are listed 'Best First'.
Re^2: extract file name from a dynamic path
by alexm (Chaplain) on Sep 07, 2008 at 01:41 UTC

    While writing my last CUFP I found a warning about basename in File::Basename:

    This function is provided for compatibility with the Unix shell command basename(1). It does NOT always return the file name portion of a path as you might expect. To be safe, if you want the file name portion of a path use fileparse().

    I'd like to see an example of this, since I can't figure out what can be wrong with basename.

      Just keep reading, it says
      C<basename()> returns the last level of a filepath even if the last level is clearly directory. In effect, it is acting like C<pop()> for paths. This differs from C<fileparse()>'s behaviour. # Both return "bar" basename("/foo/bar"); basename("/foo/bar/");

        I was blind when I read that, thanks :)