#!/usr/bin/perl use strict; use warnings; use Cwd(); use File::Basename(); # Nothing to see here, move along. BEGIN { my( $dirname ) = File::Basename::dirname( Cwd::abs_path( $0 ) ); my( $path ) = substr( $dirname, 0, rindex( $dirname, '/t/Package' ) ); push @INC, $path . '/t', $path . '/lib'; } # Package::Exporter being utilized here. # Which in turn uses Packge::Require. use Package qw[TestPackageOverridable]; # Next two demonstrate Package::Overridable # DEBUG is 0 in TestPackageOverridable but 1 in MyTestPackageOverridable. TestPackageOverridable::DEBUG and warn 'DEBUG is on'; # GREETING is 'Hello' in TestPackageOverridable but 'Hi' in MyTestPackageOverridable. printf "Message is %s\n", TestPackageOverridable::GREETING;