First, the op ask for hardlinks not symbolic, so the proper function call would be CreateHardLink().

Second, whilst those two function calls 'do the job'; as coded in the stackoverflow link; they don't handle UNC or MBCS pathnames -- which is one of their major uses -- and they are far from robustly coded. By the time you've fixed that code up to map ansi link names to unc/mbcs paths; cleaned up the error handling; perhaps added in a few checks for self-referential and circular links; you are way beyond 1 function call. And then you've got to test it and maintain it. And all to replicate an OS command. Why?

Third, those APIs only exist on Vista or Server 200X or later. I strongly suspect that the main reason the OP was looking for a module to do hardlinks -- rather than just shelling out to mklink as also suggested at the bottom of your stackoverflow link -- is because he wants the functionality on earlier version of the OS where those APIs do not exist. That -- to me -- is the only logical reason for not using the command.

And there are supported tools around for doing some kinds of path linking on earlier OS versions.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?


In reply to Re^7: Perl command to Create/Remove windows link by BrowserUk
in thread Perl command to Create/Remove windows link by roteme

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.