B::Keywords(3) User Contributed Perl Documentation B::Keywords(3)

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

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

"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.

@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.

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

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

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.

You can find documentation for this module with the perldoc command.

perldoc B::Keywords

You can also look for information at:

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

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.

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

Joshua ben Jore <jjore@cpan.org>

Reini Urban <rurban@cpan.org>

2024-09-01 perl v5.40.0