X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSub%2FName.pm;h=bfe309359bbc48d258dd86a4b42e23e95276523a;hb=54595ea863696d904b22754dc8902e52aa0fcdfa;hp=1e256f3a99c60df042b99c38827a14a3ff543173;hpb=988a6b12ae1c557d9e4ee594aa4896f0143438d9;p=p5sagit%2FSub-Name.git diff --git a/lib/Sub/Name.pm b/lib/Sub/Name.pm index 1e256f3..bfe3093 100644 --- a/lib/Sub/Name.pm +++ b/lib/Sub/Name.pm @@ -1,8 +1,7 @@ package Sub::Name; +# ABSTRACT: (re)name a sub -=head1 NAME - -Sub::Name - (re)name a sub +=pod =head1 SYNOPSIS @@ -18,24 +17,32 @@ This module has only one function, which is also exported by default: =head2 subname NAME, CODEREF -Assigns a new name to referenced sub. If package specification is omitted in +Assigns a new name to referenced sub. If package specification is omitted in the name, then the current package is used. The return value is the sub. -The name is only used for informative routines (caller, Carp, etc). You won't -be able to actually invoke the sub by the given name. To allow that, you need +The name is only used for informative routines (caller, Carp, etc). You won't +be able to actually invoke the sub by the given name. To allow that, you need to do glob-assignment yourself. -Note that for anonymous closures (subs that reference lexicals declared outside -the sub itself) you can name each instance of the closure differently, which +Note that for anonymous closures (subs that reference lexicals declared outside +the sub itself) you can name each instance of the closure differently, which can be very useful for debugging. -=head1 AUTHOR +=head1 SEE ALSO + +=over 4 + +=item * +L - for getting information about subs -Matthijs van Duin +=back -Copyright (C) 2004, 2008 Matthijs van Duin. All rights reserved. -Copyright (C) 2014 cPanel Inc. All rights reserved. -This program is free software; you can redistribute it and/or modify +=head1 COPYRIGHT AND LICENSE + +This software is copyright (c) 2004, 2008 by Matthijs van Duin, all rights reserved; +copyright (c) 2014 cPanel Inc., all rights reserved. + +This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut @@ -45,14 +52,17 @@ use 5.006; use strict; use warnings; -our $VERSION = '0.07'; - use base 'Exporter'; -use base 'DynaLoader'; our @EXPORT = qw(subname); our @EXPORT_OK = @EXPORT; -bootstrap Sub::Name $VERSION; +use XSLoader; +XSLoader::load( + __PACKAGE__, + exists $Sub::Name::{VERSION} + ? ${ $Sub::Name::{VERSION} } + : (), +); 1;