The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Acme::AutoloadAll - Use every function everywhere.

VERSION

version 0.005

SYNOPSIS

  use Scalar::Util ();
  use Acme::AutoloadAll;

  if (looks_like_number(42)) {
      print "yay\n";
  }

DESCRIPTION

This module allows you to call any function ever seen by your perl instance. As long as you used/required a module in the past you can now call its functions everywhere.

HOW IT WORKS

The module puts an AUTOLOAD sub into UNIVERSAL so every package has it. When it is called (i.e. your current package doesn't have the called sub itself) it traverses all known packages (it examines main:: and from there on everything else). The first found function will then be executed.

LIMITATIONS

Obviously calling 'new' in a package that does not have it is kind of not clever as a lot of packages have that sub. So you cannot really be sure which one is called...

Also calling subs working on a $self only works, if your package has the guts the called sub expects.

Other than that it might collide with other AUTOLOADs, so use with care ;-)

WARNING

As calling inherited AUTOLOAD on non member subs is deprecated this module might stop working in the future...

SEE ALSO

AUTHOR

Felix Bytow <felix.bytow@googlemail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Felix Bytow.

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