NAME

autopackage - Automatically set your package based on how your module was loaded.

VERSION

version 0.001

DESCRIPTION

Ever have seriously deep package structure? And then typos between the file/pathname and the package name in your module? This happens to me all the time. And, worse, I sometimes need to re-seat a module - moving it from one namespace to another. Guess what happens then: I forget to change the package line. And then it takes me 5 minutes to figure out why it's not working (it used to take longer, but it happens so often now I generally figure it out sooner).

Lo and behold, a pragma. Simply use autopackage; at the top of your module, and you get your package declared for you at runtime. Don't specify the package anymore, and you can't end up with a misspelling.

This really works well for plugins where the name of the module is figured out dynamically anyway, other modules are harder to rename. But it still can be useful there as it's one less thing to change.

SYNOPOSIS

use autopackage;

AUTHOR

Darin McBride, <dmcbride at cpan.org>

BUGS

If your @INC has two paths inside each other, stop it. But if you have to, this may confuse this module. It scans your @INC to figure out what to eliminate from the filename, and if two paths in @INC overlap, it may get this wrong.

For example, if you have @INC with /foo and /foo/bar, in that order, and your module is /foo/bar/MyModule.pm, autopackage will think that the package name should be bar::MyModule when it's really MyModule. If your @INC is reversed, this bug shouldn't show up.

This also probably will break CPAN's indexer. So it may not be so useful for packages you want CPAN to index.

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

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc autopackage

You can also look for information at:

COPYRIGHT

Copyright (c) 2012, Darin McBride. All Rights Reserved.
This module is free software. It may be used, redistributed
and/or modified under the same terms as Perl itself.

AUTHOR

Darin McBride <dmcbride@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Darin McBride.

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