Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Foo::Type::Bar;
- sub generate_foo {
- # about 5-100 lines of code
- return stuff here;
- }
- my $bar_foo = Foo::Type::Bar->generate_foo;
- my $baz_foo = Foo::Type::Baz->generate_foo;
- package Foo::Type::Bar;
- use base 'Foo::Type';
- sub generate_foo {
- ...
- return stuff here;
- }
- $unknown->doodle() if $unknown->can( 'doodle' );
- $path_or_OS_I_dont_know_which->format( "c:", 'y' );
- if ( $duck->can( 'talk' ) && $duck->can( 'walk' )) {
- $duck->walk();
- $duck->talk();
- }
- if ( $cand->can( 'walk' ) && $cand->can( 'talk' ) && ... && $cand->can( 'gargle' )) {
- ...
- }
- $cand->snicker() if $cand->can( 'snicker' );
- our @ISA = qw<... Date::Compatible ...>;
- sub UNIVERSAL::is_one {
- my ( $self, @args ) = @_;
- foreach my $pkg ( @args ) {
- return 1 if $self->isa( $pkg );
- }
- return 0;
- }
- sub UNIVERSAL::is_compatible_with {
- my ( $self, $class ) = @_;
- return $self->is_one( $class, "${class}::Compatible" );
- }
- my $bar_foo = Foo::Type::Bar->generate_foo
- my $bar_foo = Foo::Type::Bar::generate_foo
- if (Foo::Type::Bar->isa('Foo::Type')) { ... }
- my $bar_foo = Foo::Type::Bar::generate_foo;
- Foo::Bar->generate
- Foo::Baz->generate
Add Comment
Please, Sign In to add comment