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