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


In reply to Re^3: disambiguating require (or: require loves join more than catfile) by Monk::Thomas
in thread disambiguating require (or: require loves join more than catfile) by rovf

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.