我在寻求你对Perl的帮助.
我目前通过创建一个新对象然后使用它来运行一个函数来使我的代码运行良好,但我想使用更新的Perl编码方式(使用class:Std
和集成BUILD
/ START
函数)
所以现在我的代码看起来像这样,我调用new
一个日志文件的路径,然后运行一个函数:
# Called from another perl script
use MyClass;
my $Obj = MyClass->new('/usr/me/path.log');
$Obj->run();
# My module
package MyClass;
sub new {
shift if ( defined($_[0] eq 'MyClass') );
my %args = validate( @_,{ LogPath => { type => SCALAR, optional => 0 }, } );
my $self;
$self->{plistPath} = $_[1];
return bless $self;
}
sub run {
my $self = shift;
...
...
}
Run Code Online (Sandbox Code Playgroud)
而我想拥有的是这样的事情:
use Class::Std
sub BUILD …
Run Code Online (Sandbox Code Playgroud)