PPI::Token::BOM(3pm)

NAME
PPI::Token::BOM - Tokens representing Unicode byte order marks

INHERITANCE
  PPI::Token::BOM
  isa PPI::Token
      isa PPI::Element

DESCRIPTION
This is a special token in that it can only occur at the beginning of documents. If a BOM byte mark occurs elsewhere in a file, it should be treated as PPI::Token::Whitespace. We recognize the byte order marks identified at this URL: <https://web.archive.org/web/https://www.unicode.org/faq/utf_bom.html#BOM>

    UTF-32, big-endian     00 00 FE FF
    UTF-32, little-endian  FF FE 00 00
    UTF-16, big-endian     FE FF
    UTF-16, little-endian  FF FE
    UTF-8                  EF BB BF

Note that as of this writing, PPI only has support for UTF-8 (namely, in POD and strings) and no support for UTF-16 or UTF-32. We support the BOMs of the latter two for completeness only.

The BOM is considered non-significant, like white space.

METHODS
There are no additional methods beyond those provided by the parent PPI::Token and PPI::Element classes.

SUPPORT
See the support section in the main module

AUTHOR
Chris Dolan <cdolan@cpan.org>

COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy.

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

The full text of the license can be found in the LICENSE file included with this module.