Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Re: file name parsing to get the original file name

by halley (Prior)
on Aug 19, 2003 at 13:46 UTC ( #284894=note: print w/replies, xml ) Need Help??


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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://284894]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2019-07-18 10:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?