小编Laz*_*zer的帖子

这个Perl代码有什么问题?

$value = $list[1] ~ s/\D//g;
Run Code Online (Sandbox Code Playgroud)

try1.pl第53行的语法错误,靠近"]〜"

由于编译错误,try1.pl的执行被中止.

我试图从第二个元素中提取数字@list,并将其存储到$value.

perl

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

在Perl中使用文件句柄

comparefiles在Perl中编写一个子程序,它从一个文件(f1)中读取一行文本,然后f2以正常O(n^2)方式在另一个文件中搜索它.

sub comparefiles {
    my($f1, $f2) = @_;
    while(<f1>) {
        # reset f2 to the beginning of the file
        while(<f2>) {
        }
    }
}

sub someother {
    open (one, "<one.out");
    open (two, "<two.out");
    &comparefiles(&one, &two);
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题

  • 如何将文件句柄传递给子例程?在上面的代码中,我将它们用作标量.这是正确的方法吗?
  • 如何将文件指针重置f2到上面注释中标记位置的文件开头?

scripting perl file-io

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

我应该在Perl中使用嵌套子程序吗?

  • 我有5个Perl文件,它们是我环境中5种不同状态的验证脚本.

    他们每个人至少有几个子程序.

  • 到目前为止,州的数量限制在5个,这些工作正常.但是现在,根据当前的设计,我有20个以上的环境状态,因此有20个Perl脚本.

  • 我想将所有五个脚本移动到一个脚本中,该脚本将状态作为参数,并为5种不同的状态设置5个不同的子程序.

    这样,当我需要为另一个状态添加验证时,我将只需要定义一个新的子例程而不是一个全新的Perl脚本.

  • 问题在于它将意味着使用嵌套子例程(已知会遇到问题),或者展开子例程本身.

例如,

原始脚本

$ cat verify1.pl
sub a1 {
    ...
}
sub b1 {
    ...
}
a1(); b1(); a1();
$ cat verify2.pl
sub a2 {
    ...
}
sub b2 {
    ...
}
sub c2 {
    ...
}
a2(); b2(); c2(); a2();
$
Run Code Online (Sandbox Code Playgroud)

合并脚本

$ cat verify.pl
sub one {
    ...
}
sub two {
    ...
}
my ($arg) = @ARGV;
if ($arg == 1) {
    one();  # should do what verify1.pl did
} …
Run Code Online (Sandbox Code Playgroud)

perl nested subroutine

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

Perl'使用'语法如何工作?

示例代码:

m1.pm

my $a;
my $b;
sub init {
    $a = shift;
    $b = shift;
}

sub printab {
    print "a = -$a-\n";
    print "b = -$b-\n";
}

1;
Run Code Online (Sandbox Code Playgroud)

m2.pm

my $a;
my $b;
sub init {
    $a = shift;
    $b = shift;
}

1;
Run Code Online (Sandbox Code Playgroud)

test.pl

use strict;
use warnings;

use m1;
use m2;

init('hello', 'world');
printab();
Run Code Online (Sandbox Code Playgroud)

跑:

$ perl test.pl
a = --
b = --
$
Run Code Online (Sandbox Code Playgroud)

会发生什么是init('hello', 'world')调用映射到m2.pm并初始化变量($a$b).

这种做法很有意义,但我不明白为什么这些价值观无法获得test.pl …

perl perl-module

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

如何限制 Google chrome 扩展弹出窗口的大小?

我正在创建一个 Google Chrome 扩展程序,它根据提供的选项进行一些基本搜索。

这是到目前为止的样子

在此处输入图片说明

问题是侧面有很多不好看的空白区域,特别是因为这是一个弹出窗口并叠加在当前页面上。

如何确保弹出窗口使用所需的最小空间量?

html javascript google-chrome popup google-chrome-extension

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