Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^3: disambiguating require (or: require loves join more than catfile)

by Monk::Thomas (Scribe)
on Jul 24, 2013 at 07:36 UTC ( #1046027=note: print w/ replies, xml ) Need Help??


in reply to Re^2: disambiguating require (or: require loves join more than catfile)
in thread disambiguating require (or: require loves join more than catfile)

Ah. Then another question: Do you expect this code to run on multiple platforms? (I'm asking because you used catfile.) In that case I'd recommend using Path::Class in favor of File::Spec because

The well-known module File::Spec also provides this service, but it's sort of awkward to use well, so people sometimes avoid it, or use it in a way that won't actually work properly on platforms significantly different than the ones they've tested their code on.

In fact, Path::Class uses File::Spec internally, wrapping all the unsightly details so you can concentrate on your application code. Whereas File::Spec provides functions for some common path manipulations, Path::Class provides an object-oriented model of the world of path specifications and their underlying semantics. File::Spec doesn't create any objects, and its classes represent the different ways in which paths must be manipulated on various platforms (not a very intuitive concept). Path::Class creates objects representing files and directories, and provides methods that relate them to each other.

-- from http://search.cpan.org/~kwilliams/Path-Class-0.32/README.pod

Recommended reading: http://www.perladvent.org/2012/2012-12-01.html


Comment on Re^3: disambiguating require (or: require loves join more than catfile)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2015-07-03 22:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls