Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^4: Perl Best Practices book: is this one a best practice or a dodgy practice?

by dragonchild (Archbishop)
on Sep 06, 2005 at 15:03 UTC ( [id://489538]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Perl Best Practices book: is this one a best practice or a dodgy practice?
in thread Perl Best Practices book: is this one a best practice or a dodgy practice?

If you want to be a bit more thorough, you could do something like
use File::Spec::Functions( rel2abs canonpath ); my $full_inpath = canonpath( rel2abs( $infile ) ); my $full_outpath = canonpath( rel2abs( $outfile ) ); if ( $full_inpath eq $full_outpath ) { ... }
Yes, there are ways to fool this. Ideally, there would be some is_same_real_file() in File::Spec that would take into account symlinks, case sensitivity, volume names, and the like.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re^4: Perl Best Practices book: is this one a best practice or a dodgy practice?
  • Download Code

Replies are listed 'Best First'.
Re^5: Perl Best Practices book: is this one a best practice or a dodgy practice?
by theorbtwo (Prior) on Sep 09, 2005 at 13:16 UTC

    You might be interested in Cwd::abs_path -- but in general, what you want to do here isn't always possible. Consider a windows box that SMB-exports two directories, one of which is a child of the other.


    Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2024-04-19 02:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found