http://qs321.pair.com?node_id=836558


in reply to Simple inheritance question

If test() were included in Two's namespace, Two could not override it with its own test() if needed.

UPDATE: You can use Exporter to add test to Two's namespace if you like. After all a class is just a package

Replies are listed 'Best First'.
Re^2: Simple inheritance question
by halfcountplus (Hermit) on Apr 23, 2010 at 16:59 UTC
    Yeah, that does it:
    #!/usr/bin/perl -w use strict; { package One; use Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(test); sub test { my $x = pop; print "$x\n"; } } { package Two; use base "One"; sub new { One->import; my $self = {}; bless($self); } sub eg { test(pop); } } my $obj = new Two(); $obj->eg("hello");
    Thanks all!