in reply to Re: file name parsing to get the original file name
in thread file name parsing to get the original file name

My general rule of thumb is to use forward slashes wherever you can get away with it, and use OS-specific separators only when testing shows that they're required. Be ready to accept the OS-specific separators or the forward slashes whenever the user supplies them.

I just tried this test on Windows with Perl 5.6.0. It shows that File::Basename accepts forward or backslashes on Windows. This is not a thorough test on all platforms and versions.

use File::Basename qw(basename dirname); print basename("c:\\path\\file.txt"), $/; print basename("c:/path/file.txt"), $/; print dirname("c:\\path\\file.txt"), $/; print dirname("c:/path/file.txt"), $/; __OUTPUT__ file.txt file.txt c:\path c:/path

"Be lenient in what you accept, strict in what you produce."

--
[ e d @ h a l l e y . c c ]

Replies are listed 'Best First'.
Re: Re: Re: file name parsing to get the original file name
by nevyn (Monk) on Aug 20, 2003 at 15:08 UTC
    Output on a Linux box is...
    c:\path\file.txt
    file.txt
    .
    c:/path
    
    ...which is obviously wrong if you need to deal with the win32 input.