相关疑难解决方法(0)

如何在Perl中将变量限定为const/final?

例如,在下面的情况下,我不想$infilename在初始化后更改程序中任何位置的值.

my $infilename = "input_56_12.txt";
open my $fpin, '<', $infilename
    or die $!;

...
print "$infilename has $result matches\n";

close $fpin;
Run Code Online (Sandbox Code Playgroud)

确保$infilename结果中的任何更改不仅仅是警告而是错误的正确方法是什么?

perl const

8
推荐指数
2
解决办法
3219
查看次数

以这种方式访问​​哈希有什么问题?

我很难理解哈希的引用和解引用是如何工作的.

我有一个3级的哈希定义如下:

%languages = ( 
               'en', ( 
                       'it', ( 'pattern1', '...', 'pattern2', '...' )
                       'de', ( 'pattern1', '...', 'pattern2', '...' )
                     ) 
               'it', ( 
                       'en', ( 'pattern1', '...', 'pattern2', '...' )
                       'de', ( 'pattern1', '...', 'pattern2', '...' )
                     )
               'de', ( 
                       'en', ( 'pattern1', '...', 'pattern2', '...' )
                       'it', ( 'pattern1', '...', 'pattern2', '...' )
                     )
             );
Run Code Online (Sandbox Code Playgroud)

并希望迭代第一级哈希之一的第二级,如下所示:

my $current_language = 'de';
while ( ( my $language, my $patterns ) = each %{ $languages{ $current_language } } )
{
  print …
Run Code Online (Sandbox Code Playgroud)

perl hash

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

在Perl中构造函数的哈希参数?

use PDF::Extract;
$pdf=new PDF::Extract( PDFDoc=>"test.pdf");
$i=1;
$i++ while ( $pdf->savePDFExtract( PDFPages=>$i ) );
Run Code Online (Sandbox Code Playgroud)

我试图理解上面的Perl代码.它似乎是从模块中实例化一个对象.调用构造函数的行中的参数是什么?什么=>意思?它是一个哈希参数吗?

oop perl

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

如何理解这样的变量来组合_和Perl中的其他字符?

如何理解Perl中的这种价值?

my %opt = ( _argv => join?" ",@ARGV),_cwd = cwd()).
Run Code Online (Sandbox Code Playgroud)

_argv_cwd两个字符串?

perl

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

"=>"运算符与数组上下文中的逗号类似吗?

如果我=>在数组结构中使用my $arr = [ a => b ];,那么它是一样的my $arr = [a, b];吗?(实际上我在这里有一个不相关的问题,为什么用这种方式初始化数组不需要带arr前缀@?)

资料来源:http://www.misc-perl-info.com/perl-operators.html

如果这是真的,那么perl是否有充分的理由拥有这个看似模糊的功能?

perl

0
推荐指数
2
解决办法
325
查看次数

perl:hash的autoivivifcation作为object-> new()的参数?

来自perlootut:

  my $cage = File::MP3->new(
      path          => 'mp3s/My-Body-Is-a-Cage.mp3',
      content       => $mp3_data,
      last_mod_time => 1304974868,
      title         => 'My Body Is a Cage',
  );
Run Code Online (Sandbox Code Playgroud)

我不明白这里发生了什么.它看起来是自动生成,如果是这样,那么new会传递类名和对新哈希的引用吗?

perl

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

'Array =&gt; [...]'表示什么意思

在要求我维护的一些Perl代码中,我遇到了以下构造:

myArray => ['id1', 'id2', 'id3', 'id4']
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了一些定义/解释,但我所能找到的只是对标量哈希的引用:

https://www.guru99.com/perl-tutorials.html

这是我遇到的实际代码的片段:

$config = eval {
    XMLin(
        $inFile,
        MyArray => [
            'id1', 'id2',"id3", 'id4'
        ]
    );
};
Run Code Online (Sandbox Code Playgroud)

散列整个数组(不包含散列值)的语法是什么意思?

arrays perl

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

标签 统计

perl ×7

arrays ×1

const ×1

hash ×1

oop ×1