从调用脚本中扩展perl模块

1 perl module

是否可以使用调用脚本扩展perl模块?

像这样的东西:

#!/usr/bin/perl 

use strict; 
use Some::Module; 

Some::Module::func = sub {
  my $self = shift; 
  # ...
}


my $obj = new Some::Module; 

$obj->func(); 
Run Code Online (Sandbox Code Playgroud)

非常感谢!

ike*_*ami 5

您似乎想要在包中添加subs .你几乎拥有它:

|
v
*Some::Package::func = sub {
   ...
};
 ^
 |
Run Code Online (Sandbox Code Playgroud)

但是如果你知道名字和子体,你为什么要在运行时这样做呢?也许你真的想要

sub Some::Package::func {
   ...
}
Run Code Online (Sandbox Code Playgroud)

要么

{
   package Some::Package;
   sub func {
      ...
   }
}
Run Code Online (Sandbox Code Playgroud)

或者从最近开始,

package Some::Package {
   sub func {
      ...
   }
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果你这样做,你几乎肯定会有一个糟糕的设计.