NAME

B::Keywords - Lists of reserved barewords and symbol names

SYNOPSIS

use B::Keywords qw( @Symbols @Barewords );
print join "\n", @Symbols,
                 @Barewords;

DESCRIPTION

B::Keywords supplies several arrays of exportable keywords: @Scalars, @Arrays, @Hashes, @Filehandles, @Symbols, @Functions, @Barewords, @BarewordsExtra, @TieIOMethods, @UNIVERSALMethods and @ExporterSymbols.

The @Symbols array includes the contents of each of @Scalars, @Arrays, @Hashes, @Functions and @Filehandles.

Similarly, @Barewords adds a few non-function keywords and operators to the @Functions array.

@BarewordsExtra adds a few barewords which are not in keywords.h.

All additions and modifications are welcome.

The perl parser uses a static list of keywords from regen/keywords.pl which constitutes the strict list of keywords @Functions and @Barewords, though some @Functions are not functions in the strict sense. Several library functions use more special symbols, handles and methods.

DATA

@Scalars
@Arrays
@Hashes
@Filehandles
@Functions

The above are lists of variables, special file handles, and built in functions.

@Symbols

This is just the combination of all of the above: variables, file handles, and functions.

@Barewords

This is a list of other special keywords in perl including operators and all the control structures.

@BarewordsExtra

This is a list of barewords which are missing from keywords.h, handled extra in the tokenizer.

@TieIOMethods

Those are special tie or PerlIO methods called by the perl core, namely for tieing or PerlIO::via (or both of those) or threads.

@UNIVERSALMethods

Methods defined by the core package UNIVERSAL.

@ExporterSymbols

Variables or functions used by Exporter (some internal), which is almost as good as being keywords, for you mustn't use them for any other purpose in any package that isa Exporter, which is quite common.

EXPORT

Anything can be exported if you desire. Use the :all tag to get everything.

SEE ALSO

regen/keywords.pl from the perl source, perlvar, perlfunc, perldelta.

BUGS

Please report any bugs or feature requests to bug-B-Keywords at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=B-Keywords. 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 B::Keywords

You can also look for information at:

ACKNOWLEDGEMENTS

Michael G Schwern, Reini Urban, Florian Ragwitz and Zsbán Ambrus for patches and releases.

COPYRIGHT AND LICENSE

Copyright 2009 Joshua ben Jore, All rights reserved. Copyright 2013, 2015, 2017-2021 Reini Urban, All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of either:

a) the GNU General Public License as published by the Free Software Foundation; version 2, or

b) the "Artistic License" which comes with Perl.

SOURCE AVAILABILITY

This source is in Github: git://github.com/rurban/b-keywords.git

AUTHOR

Joshua ben Jore <jjore@cpan.org>

MAINTAINER

Reini Urban <rurban@cpan.org>