

Old School Object Oriented Perl - charliesome
http://www.perltricks.com/article/25/2013/5/20/Old-School-Object-Oriented-Perl

======
ycamel
Shape is a retangle. Shape::Circle inherits from the Shape. Is it reasonable?

Shape class must have color attibute only. Shape::Retangle and Shape::Circle
should inherit from the Shape.

And

...

package Shape::Retangle;

use parent 'Shape';

sub new {

    
    
        my ($class, $args) = @_; 
    
        my $self = $class->SUPER::new( { color => $args->{color} || 'black' } );
    
        $self->{length} = $args->{length} || 1;
    
        $self->{width}  = $args->{width} || 1;
    
        return bless $self, $class; 
    

}

...

package Shape::Circle;

use parent 'Shape';

sub new {

    
    
        my ($class, $args) = @_; 
    
        my $self = $class->SUPER::new( {color => $args->{color} || 'black' } );
    
        $self->{diameter} = $args->{diameter} || 1;
    
        return bless $self, $class; 
    

}

...

