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

NAME

Kavorka::Manual::PrototypeAndAttributes - the more rarely used features of Perl subroutines

DESCRIPTION

The Prototype

Like with the sub keyword, a prototype may be provided for functions. Method dispatch ignores this, so it's only likely to be useful for fun, and even then, rarely.

Like Function::Parameters, Kavorka uses :(...) to indicate a prototype. This avoids ambiguity between signatures, prototypes and attributes.

For compatibility with Perl 5.20, the special attribute :prototype(...) is supported as an alternative mechanism for expressing prototypes.

The Attributes

Attributes are parsed as per "Subroutine Attributes" in perlsub.

For anonymous functions, some attributes (e.g. :lvalue) may be applied too late to take effect. Attributes should mostly work for named functions though.

BUGS

Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Kavorka.

SEE ALSO

Kavorka::Manual.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2013-2014 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.