小编Kim*_*Kim的帖子

没有$或@的Perl中的_(单下划线)是什么?

我有一些像这样的代码:

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 _这里意味着什么?

perl

46
推荐指数
2
解决办法
2880
查看次数

$ cmd =〜s @ -fp [^] + @@; Perl是什么意思?

$cmd =~ s@-fp [^ ]+@@;
Run Code Online (Sandbox Code Playgroud)

有没有人让我知道这个正则表达式在Perl中意味着什么?我通过谷歌搜索找不到上面的任何正则表达式......

regex perl

1
推荐指数
1
解决办法
97
查看次数

是否可以在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)

perl

1
推荐指数
1
解决办法
403
查看次数

标签 统计

perl ×3

regex ×1