Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^2: Detecting whether two pathes refer to the same file

by ikegami (Patriarch)
on Sep 10, 2010 at 16:14 UTC ( [id://859658]=note: print w/replies, xml ) Need Help??


in reply to Re: Detecting whether two pathes refer to the same file
in thread Detecting whether two pathes refer to the same file

It's a good solution, but I can think of two limitations.

  • That will work for symbolic links (on most devices), but not for hard links (other than "." and "..").

    $ echo foo > a $ ln a b $ cat b foo $ perl -MCwd=abs_path -E'say abs_path($_) for @ARGV' a b /tmp/a /tmp/b

    You might be able to check stat's device plus inode fields to address this limitation on some devices on some systems.

  • It also won't necessarily work across devices (since you could access the same file via two devices). The following all refer to the same file:

    C:\Temp\file \\?\C:\Temp\file # Via UNC path \\localhost\C$\Temp\file # Via localhost \\tribble\C$\Temp\file # Via domain name \\10.0.0.6\C$\Temp\file # Via IP address \\localhost\share\file # Via share Z:\file # Given subst Z: C:\Temp

    In general, this isn't solvable.

Replies are listed 'Best First'.
Re^3: Detecting whether two pathes refer to the same file
by kejohm (Hermit) on Sep 11, 2010 at 12:43 UTC

    Good points. It depends on whether or not the OP would ever come across those situations.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2024-04-25 22:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found