小编dzo*_*atz的帖子

在子例程中通过引用操作Perl对象

我有一个Perl程序和包WorkerLog.

Worker几乎完成所有计算,我想通过引用Worker子例程以及一些其他参数(标量和数组)来传递一个对象.我曾见过这样的例子这个这个.

他们通过放入子@_,然后操纵对象来处理这个问题.我也找到了一种通过使用索引来操纵它们的方法,比如@{$_[i]}.问题是,当我尝试这样的代码时,我收到一个错误: Can't call method "write" on unblessed reference at ...

代码片段如下.

主要:

use strict;
use warnings;
use Log;
use Worker;

my $log = Log->new();
my $worker = Worker->new();
my $scalar = "SomeURLhere";
my @array = ('red','blue','white');

# I do some stuff with $log object
#...
# Now I want to pass data to the Worker
$worker->subFromWorker($scalar, \$log, \@array);
Run Code Online (Sandbox Code Playgroud)

工人:

use strict;
use warnings;
package Worker;

sub …
Run Code Online (Sandbox Code Playgroud)

perl reference perl-module object subroutine

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

标签 统计

object ×1

perl ×1

perl-module ×1

reference ×1

subroutine ×1