#!/usr/bin/perl
# your code goes here
use strict;
sub new {
my ( $class, $name ) = @_;
my $self = bless { name
=> $name }, $class;
$self->process();
}
sub name {
}
sub process {
}
use strict;
use parent -norequire, 'MONOLOG';
sub process {
my ( $self ) = @_;
my $name = $self->name();
printf "Welcome, %s!!!\n", $name;
}
use strict;
my $abstract = MONOLOG->new('whatever');
};
print "As expected: $@" if ($@);
my $alex = MONOLOG::Simple->new('Alex');
my $mike = MONOLOG::Simple->new('Mike');
IyEvdXNyL2Jpbi9wZXJsCiMgeW91ciBjb2RlIGdvZXMgaGVyZQoKcGFja2FnZSBNT05PTE9HOwoKdXNlIHN0cmljdDsKCnN1YiBuZXcgewogIG15ICggJGNsYXNzLCAkbmFtZSApID0gQF87CiAKICBteSAkc2VsZiA9IGJsZXNzIHsgbmFtZSA9PiAkbmFtZSB9LCAkY2xhc3M7CiAKICAkc2VsZi0+cHJvY2VzcygpOwogCiAgcmV0dXJuICRzZWxmOwp9CgpzdWIgbmFtZSB7CglyZXR1cm4gJF9bMF0tPnsnbmFtZSd9Owp9CgpzdWIgcHJvY2VzcyB7CglkaWUgImFic3RyYWN0IjsKfQoKcGFja2FnZSBNT05PTE9HOjpTaW1wbGU7Cgp1c2Ugc3RyaWN0Owp1c2UgcGFyZW50IC1ub3JlcXVpcmUsICdNT05PTE9HJzsKCnN1YiBwcm9jZXNzIHsKCW15ICggJHNlbGYgKSA9IEBfOwoJCglteSAkbmFtZSA9ICRzZWxmLT5uYW1lKCk7CgkKCXByaW50ZiAiV2VsY29tZSwgJXMhISFcbiIsICRuYW1lOwoJCglyZXR1cm4gJHNlbGY7Cn0KCgpwYWNrYWdlIG1haW47Cgp1c2Ugc3RyaWN0OwoKZXZhbCB7CglteSAkYWJzdHJhY3QgPSBNT05PTE9HLT5uZXcoJ3doYXRldmVyJyk7Cn07CgpwcmludCAiQXMgZXhwZWN0ZWQ6ICRAIiBpZiAoJEApOwoKbXkgJGFsZXggPSBNT05PTE9HOjpTaW1wbGUtPm5ldygnQWxleCcpOwpteSAkbWlrZSA9IE1PTk9MT0c6OlNpbXBsZS0+bmV3KCdNaWtlJyk7Cg==