The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


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


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


B::Keywords supplies several arrays of exportable keywords: @Scalars, @Arrays, @Hashes, @Filehandles, @Symbols, @Functions, @Barewords, @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.

All additions and modifications are welcome.

The perl parser uses a static list of keywords from regen/ 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.



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


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


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


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


Methods defined by the core package UNIVERSAL.


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/ from the perl source, perlvar, perlfunc, perldelta.


Please report any bugs or feature requests to bug-B-Keywords at, or through the web interface at 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.

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://


Joshua ben Jore <>


Reini Urban <>