我有一个Perl程序和包Worker和Log.
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)