我知道在命令提示符下使用CPAN安装"强制"模块很容易.我试图通过脚本实现相同的目标:
use CPAN;
eval "use Filesys::DiskSpace" or do {
CPAN::install("Filesys::DiskSpace");
};
Run Code Online (Sandbox Code Playgroud)
有没有办法在代码中添加'force'选项?编译模块时出现以下错误:
make test had returned bad status, won't install without force
Run Code Online (Sandbox Code Playgroud)
警告可能不严重,所以我想继续安装.谢谢.
您建议在Linux上获取磁盘名称的模块是什么?我已经对CPAN进行了一些搜索,但我找到的所有模块都太旧了.在Bash我可以使用类似的东西:
disk_name=$(df |grep -w '/'|awk '{print $1}'|cut -d/ -f3)
echo $disk_name
sda6
Run Code Online (Sandbox Code Playgroud)
请帮我理解如何在Perl中做同样的事情.谢谢.
有人可以指出我为什么不编译这个片段:
my $crond = "/etc/init.d/crond";
if( -e $crond ) {
my $d = "d";
}
my $crond = "/etc/init.d/cron$d";
Run Code Online (Sandbox Code Playgroud)
错误:
"my" variable $crond masks earlier declaration in same scope at /home/andrew/sandbox/processes2cron.pl line 27.
Global symbol "$d" requires explicit package name at /home/andrew/sandbox/processes2cron.pl line 27.
Run Code Online (Sandbox Code Playgroud)
我尝试使用'my'进行不同的变化,但仍然没有正确定义范围.谢谢.
perl ×3