用于符号链接的 Cwd::abs_path 的 Perl 替代方案
我的 Perl 应用程序接收文件和参数的相对路径,然后将它们转换为绝对路径。我一直使用 Cwd::abs_path($fileName)
很好,但现在我需要支持符号链接,并且我发现 abs_path 将为我提供原始文件的绝对路径。
我需要的是 Cwd::abs_path 的替代方案,当给定符号链接的相对路径时,会将其转换为同一符号链接的绝对路径。有什么建议吗?
例子:
/originals/myfile1
/links/myfile1link -> /originals/myfile1
> cd /links
> perl converter.pl /myfile1link
> output: /links/myfile1link
My Perl app receives relative paths to files and arguments and then converts them to absolute paths. I had been using Cwd::abs_path($fileName)
just fine, but now I need to support symbolic links and I find that abs_path will give me the absolute path to the original file.
What I need is an alternative to Cwd::abs_path
that when given a relative path to a symlink will convert it to an absolute path to that same symlink. Any recommendations?
Example:
/originals/myfile1
/links/myfile1link -> /originals/myfile1
> cd /links
> perl converter.pl /myfile1link
> output: /links/myfile1link
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
File::Spec->rel2abs
不执行任何系统检查,因此它不会解析符号链接。File::Spec->rel2abs
does not do any system checks, so it won't resolve symlinks.