Dav*_*d B 5 perl tilde-expansion home-directory
可能重复:
如何在Perl中找到用户的主目录?
我正在运行Ubuntu.
每当我传递Perl脚本时,以~(例如~/Documents/file.txt)它开始的路径都找不到它.我必须通过规范路径(例如/home/dave/Documents/file.txt).
这是为什么?
我可以让Perl识别~路径吗?
UPDATE
所有建议的解决方案都包括更改脚本中的代码.我想要一个不会对脚本本身进行任何更改的解决方案(因为并非所有这些都是我的).也许是Bash的工作方式?
问题的更新版本发布在超级用户.
您可以传递路径以glob扩展它.
要获得可靠(且简单)的跨平台方法,请尝试File :: HomeDir:
use File::HomeDir;
print File::HomeDir->my_home;
Run Code Online (Sandbox Code Playgroud)
该水珠功能了解标准的Unix文件寻找.
my $file = glob('~/Documents/file.txt');
Run Code Online (Sandbox Code Playgroud)