Skip to content

Instantly share code, notes, and snippets.

@ggl
Last active December 26, 2015 21:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ggl/7219790 to your computer and use it in GitHub Desktop.
Save ggl/7219790 to your computer and use it in GitHub Desktop.
Class::Tiny multiple inheritance?
package Blah;
use strict;
use warnings;
use Class::Tiny qw(blah);
sub bla {
my ($oh, @ah) = @_;
return join(' ', ucfirst($oh->blah), @ah);
}
1;
package Argh;
use strict;
use warnings;
use Class::Tiny qw(argh);
sub arg {
return uc($_[0]->argh);
}
1;
package Oh;
use strict;
use warnings;
use parent -norequire, 'Blah', 'Argh';
use Class::Tiny qw(oh);
1;
package main;
my $b = Oh->new(blah => 'blablabla', argh => 'aargh!', oh => 'ohh!');
print $b->bla('bla', 'blaaa!', $b->arg, $b->oh) . "\n";
print Oh->isa('Blah') . ' ' . Oh->isa('Argh') . "\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment