The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

basis - use base with import call

VERSION

Version 0.05003

SYNOPSIS

Usage is similar to base or parent:

package Baz;
use basis qw/Foo bar/;

Or with arguments for import:

package Foo;
use basis Bary => [go => "away"];

DESCRIPTION

It uses Sub::Uplevel to do the construct

  BEGIN {
	  use base qw/Foo bal/;
	  Foo->import;
	  bal->import('tor');
  };

transparently for the parent and child class.

If the classname is followed by a array reference, than the dereferenced array is used in the import call as argument.

Now it uses the import method from the class named in the global variable $basis::base. When not set from outside, this variable will be set during the first load of this module. It defaults to parent and as second alternative to base.

IMPORTANT NOTE

The call of Sub::Uplevel might come to late, so uplevel will not work as expected. If you use this module, the same rule as for Sub::Uplevel applies:

Use Sub::Uplevel as early as possible in your program.

Now this module croaks when Sub::Uplevel is not used earlier enough.

AUTHOR

Sebastian Knapp, <rock@ccls-online.de>

BUGS

Please report any bugs or feature requests to bug-basis at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=basis. I will be notified, and then you will automatically be notified of progress on your bug as I make changes.

ACKNOWLEDGMENT

Thank you Michael G. Schwern for base and Sub::Uplevel. I hope this tiny add-on finds your blessing. Thank you David A Golden for maintenance and improvement of Sub::Uplevel.

SEE ALSO

Sub::Uplevel

base

parent

COPYRIGHT & LICENSE

Copyright 2006-2012 Computer-Leipzig, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.