X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSub%2FName.pm;h=d1afeb397283e7a289a9e5e9a2f38c8db3a675a7;hb=86a2138ae34c272028daaea6121d6518c364cc65;hp=c881b39b588eeb7b5e14cde9c00e2f2a6128a873;hpb=16c238946dc5ef5a2ddc13ebc0b57f3a0629f03e;p=p5sagit%2FSub-Name.git diff --git a/lib/Sub/Name.pm b/lib/Sub/Name.pm index c881b39..d1afeb3 100644 --- a/lib/Sub/Name.pm +++ b/lib/Sub/Name.pm @@ -1,10 +1,8 @@ -# $Id: Name.pm,v 1.4 2004/08/18 12:03:42 xmath Exp $ - package Sub::Name; +# ABSTRACT: (Re)name a sub +# KEYWORDS: subroutine function utility name rename symbol -=head1 NAME - -Sub::Name - (re)name a sub +=pod =head1 SYNOPSIS @@ -16,29 +14,37 @@ Sub::Name - (re)name a sub =head1 DESCRIPTION -This module has two functions to assign a new name to a sub -- in particular an -anonymous sub -- which is displayed in tracebacks and such. Both functions are -exported by default. +This module has only one function, which is also exported by default: + +=for stopwords subname =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 closures (anonymous subs that reference lexicals outside the sub -itself) you can name each instance of the closure differently, which can be -very useful for debugging. +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 SEE ALSO + +=for :list +* L - for getting information about subs +* L - set_subname is another implementation of C + +=for stopwords cPanel -=head1 AUTHOR +=head1 COPYRIGHT AND LICENSE -Matthijs van Duin +This software is copyright (c) 2004, 2008 by Matthijs van Duin, all rights reserved; +copyright (c) 2014 cPanel Inc., all rights reserved. -Copyright (C) 2004 Matthijs van Duin. All rights reserved. -This program is free software; you can redistribute it and/or modify +This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut @@ -48,14 +54,18 @@ use 5.006; use strict; use warnings; -our $VERSION = '0.01'; +our $VERSION = '0.23'; -use base 'Exporter'; -use base 'DynaLoader'; +use Exporter (); +*import = \&Exporter::import; our @EXPORT = qw(subname); our @EXPORT_OK = @EXPORT; -bootstrap Sub::Name $VERSION; +use XSLoader; +XSLoader::load( + __PACKAGE__, + $VERSION, +); 1;