相关疑难解决方法(0)

如何在Perl中找到用户的主目录?

我需要检查用户主目录中的文件是否存在,因此请使用文件检查:

if ( -e "~/foo.txt" ) {
   print "yes, it exists!" ;
}
Run Code Online (Sandbox Code Playgroud)

即使在用户的主目录下有一个名为foo.txt的文件,Perl总是抱怨没有这样的文件或目录.当我用/ home/jimmy替换"〜"时(让我们说用户是jimmy)然后Perl做出正确的判决.

你能解释为什么"〜"不能在Perl中工作并告诉我Perl找到用户主目录的方式是什么?

perl tilde-expansion home-directory

50
推荐指数
5
解决办法
4万
查看次数

使用Perl检查〜/中是否存在目录

我注意到-d标志的奇怪行为,以检查文件是否是目录以及目录是否存在.使用~/my_dir我的路径时,它的行为有所不同.

以下代码将返回false,即使该目录my_dir存在,但如果我将其更改为完整路径/home/ricky/my_dir,则该if语句将返回true.

#!/usr/bin/perl -w
#
use strict;

if ( -d "~/my_dir") {
    print "Found \n";
}
else {
    print "Not found \n";
}
Run Code Online (Sandbox Code Playgroud)

有什么不同?

directory perl

5
推荐指数
2
解决办法
3万
查看次数

标签 统计

perl ×2

directory ×1

home-directory ×1

tilde-expansion ×1