我有一些像这样的代码:
if (!-d _ || !-o _ || ($vncUserDirUnderTmp && ($mode & 0777) != 0700)) {
raise Exception("$prog: Wrong type or access mode of $vncUserDir.\n")
}
Run Code Online (Sandbox Code Playgroud)
我可以在Perl中找到有关的信息@_,$_但不能_单独查找.它在这里-d _和-o _这里意味着什么?
$cmd =~ s@-fp [^ ]+@@;
Run Code Online (Sandbox Code Playgroud)
有没有人让我知道这个正则表达式在Perl中意味着什么?我通过谷歌搜索找不到上面的任何正则表达式......
我正在将perl脚本转换为python.
我之前没有使用perl语言,perl中的很多东西让我很困惑.
例如,在下面,opt首先被声明为标量,但再次声明为哈希.%opt = ();
是否可以在perl中声明标量和具有相同名称的哈希?
据我所知,这foreach $opt (@opts)意味着标量opt逐个获取数组opts的值.
opt此时是一个数组???
另外,什么$opt{$opt}意思?
在$ opt {$ opt} 之外选择是一个哈希,并且选择*opt { $ opt }是一个标量?
我很困惑,请帮帮我...
sub ParseOptions
{
local (@optval) = @_;
local ($opt, @opts, %valFollows, @newargs);
while (@optval) {
$opt = shift(@optval);
push(@opts,$opt);
$valFollows{$opt} = shift(@optval);
}
@optArgs = ();
%opt = ();
arg: while (defined($arg = shift(@ARGV))) {
foreach $opt (@opts) {
if ($arg eq $opt) {
push(@optArgs, $arg);
if ($valFollows{$opt}) {
if (@ARGV …Run Code Online (Sandbox Code Playgroud)