increment $VERSION after 0.15 release
[p5sagit/Sub-Name.git] / lib / Sub / Name.pm
CommitLineData
16c23894 1package Sub::Name;
54595ea8 2# ABSTRACT: (re)name a sub
16c23894 3
54595ea8 4=pod
16c23894 5
6=head1 SYNOPSIS
7
8 use Sub::Name;
9
10 subname $name, $subref;
11
12 $subref = subname foo => sub { ... };
13
14=head1 DESCRIPTION
15
d73d8321 16This module has only one function, which is also exported by default:
16c23894 17
30f18ad8 18=for stopwords subname
19
16c23894 20=head2 subname NAME, CODEREF
21
a0f015f5 22Assigns a new name to referenced sub. If package specification is omitted in
16c23894 23the name, then the current package is used. The return value is the sub.
24
a0f015f5 25The name is only used for informative routines (caller, Carp, etc). You won't
26be able to actually invoke the sub by the given name. To allow that, you need
16c23894 27to do glob-assignment yourself.
28
a0f015f5 29Note that for anonymous closures (subs that reference lexicals declared outside
30the sub itself) you can name each instance of the closure differently, which
d73d8321 31can be very useful for debugging.
16c23894 32
fa1e9525 33=head1 SEE ALSO
34
691b40bc 35=for :list
36* L<Sub::Identify> - for getting information about subs
86f08d91 37* L<Sub::Util> - set_subname is another implementation of C<subname>
fa1e9525 38
30f18ad8 39=for stopwords cPanel
40
d2e2a4b9 41=head1 COPYRIGHT AND LICENSE
42
54595ea8 43This software is copyright (c) 2004, 2008 by Matthijs van Duin, all rights reserved;
44copyright (c) 2014 cPanel Inc., all rights reserved.
16c23894 45
a0f015f5 46This program is free software; you can redistribute it and/or modify
16c23894 47it under the same terms as Perl itself.
48
49=cut
50
51use 5.006;
52
53use strict;
54use warnings;
55
22cabeb5 56our $VERSION = '0.16';
dfd7ef25 57
c2501c3b 58use Exporter 5.57 'import';
16c23894 59
60our @EXPORT = qw(subname);
61our @EXPORT_OK = @EXPORT;
62
54595ea8 63use XSLoader;
64XSLoader::load(
65 __PACKAGE__,
dfd7ef25 66 $VERSION,
54595ea8 67);
16c23894 68
691;