什么是';Cwd&x27;和';qw';用perl是什么意思?
在perl中,我们导入/使用模块,我们什么是';Cwd&x27;和';qw';用perl是什么意思?,perl,Perl,在perl中,我们导入/使用模块,我们使用Cwd qw作为列表/数组的表示 但是,我在一些代码中看到它如下所述 use Cwd qw(realpath cwd); realpath( $0 ) =~ /(.+)\/[^\/]+$/; require "$1/some_file.pl" 这是什么意思?你能帮我理解一下吗?qw/STRING/是引号 qw(realpath-cwd) 相当于 split(“”,q(realpath-cwd)) 从而 'realpath','c
使用Cwd代码>
qw
作为列表/数组的表示
但是,我在一些代码中看到它如下所述
use Cwd qw(realpath cwd);
realpath( $0 ) =~ /(.+)\/[^\/]+$/;
require "$1/some_file.pl"
这是什么意思?你能帮我理解一下吗?qw/STRING/
是引号
qw(realpath-cwd)
相当于
split(“”,q(realpath-cwd))
从而
'realpath','cwd'
所以
使用cwdqw(realpath-Cwd);
相当于
使用Cwd'realpath',Cwd';
根据,
使用模块列表;
相当于
开始{
需要模块;
模块->导入(列表);
}
所以
使用Cwd'realpath',Cwd';
相当于
开始{
需要Cwd;
Cwd->import('realpath','Cwd');
}
那么,import
做什么呢?这完全取决于模块。模块通常会将列出的符号导出到调用方的命名空间中。Cwd也不例外
因此,下面加载Cwd(如果还没有),并从中导入函数realpath
和Cwd
使用cwdqw(realpath-Cwd);
最后,
$0
,记录在中,是正在执行的脚本的名称
realpath($0)
是正在执行的脚本的绝对路径,已解析符号链接
正则表达式匹配用于提取最后一个/
之前的所有内容,即脚本所在的目录名
最后,执行指定的文件。(尽管require
不是此项的最佳选择。)
代码的更简单版本:
使用FindBin qw($RealBin);
需要(“$RealBin/some_file.pl”);
是一个很好的起点使用模块列表
加载模块并将列表中给出的符号导入到当前包中。因此use-Cwd'getcwd'
将getcwd
导入到当前包中。如果只使用Cwd
,则符号getcwd
将无法直接使用,您需要编写Cwd::getcwd()
来调用该函数