perl 面向对象 new方法

[root@wx03 test]# cat Scan.pm 
package Scan;
sub new{
    my $class = shift;
    my $self={
              'a'=>11,
              'b'=>22,
               'c'=>33
             };
    bless $self,$class;
    return $self;
            };


sub sum_all {

    my $self=shift;
    my ($c,$d,$e)=@_;
     return ($self->{a} + $self->{b} + $self->{c} + $c + $d + $e);
  };
1;
[root@wx03 test]# cat t12.pl 
unshift(@INC,"/root/test");   
use Scan ;  
my $ua=Scan->new();
print $ua->sum_all(1,5,8);
[root@wx03 test]# perl t12.pl 
80[root@wx03 test]# 

/*****************new 方法不定义内容:

[root@wx03 test]# cat Scan.pm 
package Scan;
sub new{
    my $class = shift;
    my $self={};
    bless $self,$class;
    return $self;
            };


sub sum_all {

    my $self=shift;
    my ($c,$d,$e)=@_;
     return ( $c + $d + $e);
  };
1;
[root@wx03 test]# cat t12.pl 
unshift(@INC,"/root/test");   
use Scan ;  
my $ua=Scan->new();
print $ua->sum_all(1,5,8);
[root@wx03 test]# perl t12.pl 
14[root@wx03 test]# 

原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199594.html