小编Tho*_*mas的帖子

在Perl上创建一个类(class :: Std)

我在寻求你对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)

perl constructor reference class std

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

标签 统计

class ×1

constructor ×1

perl ×1

reference ×1

std ×1