ddd has asked for the wisdom of the Perl Monks concerning the following question:
(Please forgive me for using unix paths in the following discussion)
The Unexpected
File::Spec->canonpath( $path ); does remove extra '/' and '/.' from paths, but it does not, however, fix paths like '/a/1/../2' into '/a/2'.
To do that I had to resort to regexps something like $path =~ s(\.\./)()g - which introduces platform-specific code and defeats the purpose of using File::Spec in the first place.
Q: What is the correct (x platform) method for removing 'dir/..' from paths?
A note on my ignorance: None of the systems that I use perl on (all 5.005_003 or older) have documentation (or code) for either abs2rel() or rel2abs() in File::Spec, or File::Spec::Unix. Are these new in 5.6? Perhaps theses functions are part of the answer to my question.
All the best,
DouglasDD
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Missing from File::Spec(?)
by tye (Sage) on Sep 14, 2000 at 23:21 UTC | |
|
Re: Missing from File::Spec(?)
by merlyn (Sage) on Sep 14, 2000 at 23:19 UTC | |
|
Re: Missing from File::Spec(?)
by Fastolfe (Vicar) on Sep 14, 2000 at 23:13 UTC |