view release on metacpan or search on metacpan
lib/Perl/PrereqScanner/NotQuiteLite.pm view on Meta::CPAN
if ($self->{quick}) {
$c->{file_size} = length $string;
$self->_skim_string($c, \$string) if $c->{file_size} > 30_000;
}
# UTF8 BOM
if ($string =~ s/\A(\xef\xbb\xbf)//s) {
utf8::decode($string);
$c->{decoded} = 1;
}
# Other BOMs (TODO: also decode?)
$string =~ s/\A(\x00\x00\xfe\xff|\xff\xfe\x00\x00|\xfe\xff|\xff\xfe)//s;
# normalize
if ("\n" eq "\015") {
$string =~ s/(?:\015?\012)/\n/gs;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Perl/Tidy.pm view on Meta::CPAN
# operations with utf8. If we have not decoded the data, then
# we must not treat it as encoded data.
my $is_encoded_data = $encoding_in ? 'utf8' : EMPTY_STRING;
$self->[_is_encoded_data_] = $is_encoded_data;
# Delete any Byte Order Mark (BOM), which can cause trouble
if ($is_encoded_data) {
${$rinput_string} =~ s/^\x{FEFF}//;
}
$rstatus->{'input_name'} = $display_name;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/perlapinames_generated.pm view on Meta::CPAN
## no critic qw(ProhibitParensWithBuiltins ProhibitNoisyQuotes) # SYSTEM SPECIAL 3: allow auto-generated code
$perlapinames_generated::FUNCTIONS_DOCUMENTED = undef;
$perlapinames_generated::FUNCTIONS_DOCUMENTED = {
'AvFILL' => 1,
'BOM_UTF8' => 1,
'BhkDISABLE' => 1,
'BhkENABLE' => 1,
'BhkENTRY_set' => 1,
'CLASS' => 1,
'Copy' => 1,
view all matches for this distribution
view release on metacpan or search on metacpan
share/Synopsis/S32-setting-library/IO.pod view on Meta::CPAN
) is export
A convenience method/function that hides most of the OO complexity.
It will only open normal files. Text is the default. Note that
the "Unicode" encoding implies figuring out which actual UTF is
in use, either from a BOM or other heuristics. If heuristics are
inconclusive, UTF-8 will be assumed. (No 8-bit encoding will ever
be picked implicitly.) A file opened with C<:bin> may still be
processed line-by-line, but IO will be in terms of C<Buf> rather
than C<Str> types.
view all matches for this distribution
view release on metacpan or search on metacpan
docs/notes/unicode_draft view on Meta::CPAN
The "lang" should never be inferred from encoding -- it makes no
sense because lang usage shifts with time: People are writing
Trad.Chinese in GBK all the time now.
2. BOM sniffing of .pl files, but currently the set it knows is
(UTF16[LB]E, UTF8+BOM, ASCII(really latin* as default))
it should be:
(UTF32[LB]E, UTF16[LB]E, UTF8(default))
3. Per-handle stackable IO layers makes sense.
But it should allow introspection into different layer-chunks:
docs/notes/unicode_draft view on Meta::CPAN
.bytes # pretend strings are buffers
.codepoints # same as perl5 - not terribly useful
# - basically unsigned integers with 21 bits
.characters # this should be the default:
# - COMBINING MARKS
# - BOM (and other zero-width assertions)
.graphemes # visual rendering - includes metadata like
# - LANGUAGE TAG blocks
# - VARIATION SELECTOR
# - LTR/RTL SELECTOR
# - Act as pre-decomposed forms (for canonical decomposition)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/PerlIO/bom.pm view on Meta::CPAN
XSLoader::load(__PACKAGE__, __PACKAGE__->VERSION);
1;
#ABSTRACT: Automatic BOM handling in Unicode IO
__END__
=pod
=encoding UTF-8
=head1 NAME
PerlIO::bom - Automatic BOM handling in Unicode IO
=head1 VERSION
version 0.001
lib/PerlIO/bom.pm view on Meta::CPAN
open my $fh, '<:bom(utf-8)', $filename;
=head1 DESCRIPTION
This module will automate BOM handling. On a reading handle, it will try to detect a BOM and push an appropriate decoding layer for that encoding. If no BOM is detected the specified encoding is used, or UTF-8 if none is given.
A writing handle will be opened with the specified encoding, and a BOM will be written to it.
=head1 SYNTAX
This modules does not have to be loaded explicitly, it will be loaded automatically by using it in an open mode. The module has the following general syntax: C<:bom(encoding)> or C<:bom>. The encoding may be anything C<:encoding> accepts.
view all matches for this distribution
view release on metacpan or search on metacpan
BOL_t8_p8|5.033003||Viu
BOL_t8_pb|5.033003||Viu
BOL_tb|5.035004||Viu
BOL_tb_p8|5.033003||Viu
BOL_tb_pb|5.033003||Viu
BOM_UTF8|5.025005|5.003007|p
BOM_UTF8_FIRST_BYTE|5.019004||Viu
BOM_UTF8_TAIL|5.019004||Viu
boolSV|5.004000|5.003007|p
boot_core_builtin|5.035007||Viu
boot_core_mro|5.009005||Viu
boot_core_PerlIO|5.007002||Viu
boot_core_UNIVERSAL|5.003007||Viu
#endif
#endif
#if 'A' == 65
#ifndef BOM_UTF8
# define BOM_UTF8 "\xEF\xBB\xBF"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xEF\xBF\xBD"
#endif
#elif '^' == 95
#ifndef BOM_UTF8
# define BOM_UTF8 "\xDD\x73\x66\x73"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x73\x73\x71"
#endif
#elif '^' == 176
#ifndef BOM_UTF8
# define BOM_UTF8 "\xDD\x72\x65\x72"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x72\x72\x70"
#endif
view all matches for this distribution
view release on metacpan or search on metacpan
t/EscStatus.t view on Meta::CPAN
ok ($AD_str !~ /\p{PerlIO::via::EscStatus::IsZero}/);
ok ("\x{0300}" =~ /\p{PerlIO::via::EscStatus::IsZero}/); # Mn
ok ("\x{0488}" =~ /\p{PerlIO::via::EscStatus::IsZero}/); # Me
ok ("\x{1100}" !~ /\p{PerlIO::via::EscStatus::IsZero}/); # W
ok ("\x{FF10}" !~ /\p{PerlIO::via::EscStatus::IsZero}/); # F
ok ("\x{FEFF}" =~ /\p{PerlIO::via::EscStatus::IsZero}/); # BOM
#------------------------------------------------------------------------------
# IsDouble
t/EscStatus.t view on Meta::CPAN
ok ($_9F_str !~ /\p{PerlIO::via::EscStatus::IsDouble}/);
ok ("\x{0300}" !~ /\p{PerlIO::via::EscStatus::IsDouble}/); # Mn
ok ("\x{0488}" !~ /\p{PerlIO::via::EscStatus::IsDouble}/); # Me
ok ("\x{1100}" =~ /\p{PerlIO::via::EscStatus::IsDouble}/); # W
ok ("\x{FF10}" =~ /\p{PerlIO::via::EscStatus::IsDouble}/); # F
ok ("\x{FEFF}" !~ /\p{PerlIO::via::EscStatus::IsDouble}/); # BOM
#------------------------------------------------------------------------------
# IsOther
t/EscStatus.t view on Meta::CPAN
ok ($_9F_str !~ /\p{PerlIO::via::EscStatus::IsOther}/);
ok ("\x{0300}" !~ /\p{PerlIO::via::EscStatus::IsOther}/); # Mn
ok ("\x{0488}" !~ /\p{PerlIO::via::EscStatus::IsOther}/); # Me
ok ("\x{1100}" !~ /\p{PerlIO::via::EscStatus::IsOther}/); # W
ok ("\x{FF10}" !~ /\p{PerlIO::via::EscStatus::IsOther}/); # F
ok ("\x{FEFF}" !~ /\p{PerlIO::via::EscStatus::IsOther}/); # BOM
#------------------------------------------------------------------------------
# _truncate
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
BOL_t8_p8|5.033003||Viu
BOL_t8_pb|5.033003||Viu
BOL_tb|5.035004||Viu
BOL_tb_p8|5.033003||Viu
BOL_tb_pb|5.033003||Viu
BOM_UTF8|5.025005|5.003007|p
BOM_UTF8_FIRST_BYTE|5.019004||Viu
BOM_UTF8_TAIL|5.019004||Viu
boolSV|5.004000|5.003007|p
boot_core_builtin|5.035007||Viu
boot_core_mro|5.009005||Viu
boot_core_PerlIO|5.007002||Viu
boot_core_UNIVERSAL|5.003007||Viu
#endif
#endif
#if 'A' == 65
#ifndef BOM_UTF8
# define BOM_UTF8 "\xEF\xBB\xBF"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xEF\xBF\xBD"
#endif
#elif '^' == 95
#ifndef BOM_UTF8
# define BOM_UTF8 "\xDD\x73\x66\x73"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x73\x73\x71"
#endif
#elif '^' == 176
#ifndef BOM_UTF8
# define BOM_UTF8 "\xDD\x72\x65\x72"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x72\x72\x70"
#endif
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Perlito5X/unicore/UnicodeData.txt view on Meta::CPAN
1F49E;REVOLVING HEARTS;So;0;ON;;;;;N;;;;;
1F49F;HEART DECORATION;So;0;ON;;;;;N;;;;;
1F4A0;DIAMOND SHAPE WITH A DOT INSIDE;So;0;ON;;;;;N;;;;;
1F4A1;ELECTRIC LIGHT BULB;So;0;ON;;;;;N;;;;;
1F4A2;ANGER SYMBOL;So;0;ON;;;;;N;;;;;
1F4A3;BOMB;So;0;ON;;;;;N;;;;;
1F4A4;SLEEPING SYMBOL;So;0;ON;;;;;N;;;;;
1F4A5;COLLISION SYMBOL;So;0;ON;;;;;N;;;;;
1F4A6;SPLASHING SWEAT SYMBOL;So;0;ON;;;;;N;;;;;
1F4A7;DROPLET;So;0;ON;;;;;N;;;;;
1F4A8;DASH SYMBOL;So;0;ON;;;;;N;;;;;
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/pickle/OptArgs.pm view on Meta::CPAN
subcmd 'App::pickle::import' => (
comment => 'Converts another file into a PickLE pick list',
optargs => sub {
arg 'type' => (
comment => 'File type. Supported formats: eagle (Eagle BOM CSV)',
isa => 'Str',
required => 1,
);
arg 'file' => (
view all matches for this distribution
view release on metacpan or search on metacpan
$fatpacked{"CPAN/Meta/Validator.pm"} = <<'CPAN_META_VALIDATOR';
use 5.006;use strict;use warnings;package CPAN::Meta::Validator;our$VERSION='2.132510';my%known_specs=('1.4'=>'http://module-build.sourceforge.net/META-spec-v1.4.html','1.3'=>'http://module-build.sourceforge.net/META-spec-v1.3.html','1.2'=>'http://...
CPAN_META_VALIDATOR
$fatpacked{"CPAN/Meta/YAML.pm"} = <<'CPAN_META_YAML';
package CPAN::Meta::YAML;{$CPAN::Meta::YAML::VERSION='0.008'}use strict;sub HAVE_UTF8 () {$] >= 5.007003}BEGIN {if (HAVE_UTF8){eval "require utf8;";die "Failed to load UTF-8 support" if $@}require 5.004;require Exporter;require Carp;@CPAN::Meta::YA...
# Scalar::Util failed to load or too old
sub refaddr {
my $pkg = ref($_[0]) or return undef;
if ( !! UNIVERSAL::can($_[0], 'can') ) {
bless $_[0], 'Scalar::Util::Fake';
view all matches for this distribution
view release on metacpan or search on metacpan
local/lib/perl5/Config/INI/Reader.pm view on Meta::CPAN
my $self = ref $invocant ? $invocant : $invocant->new;
# parse the file
LINE: while (my $line = $handle->getline) {
if ($handle->input_line_number == 1 && $line =~ /\A\x{FEFF}/) {
Carp::confess("input handle appears to start with a BOM");
}
$self->preprocess_line(\$line);
next LINE if $self->can_ignore($line, $handle);
view all matches for this distribution
view release on metacpan or search on metacpan
share/js/jquery.js view on Meta::CPAN
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
},
// Support: Android<4.1
// Make sure we trim BOM and NBSP
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([\da-z])/gi,
view all matches for this distribution
view release on metacpan or search on metacpan
requires 'Test::Pod';
requires 'Test::NoTabs';
requires 'Test::Perl::Metrics::Lite';
requires 'Test::Vars';
requires 'File::Find::Rule::ConflictMarker';
requires 'File::Find::Rule::BOM';
};
view all matches for this distribution
view release on metacpan or search on metacpan
requires 'Test::Pod';
requires 'Test::NoTabs';
requires 'Test::Perl::Metrics::Lite';
requires 'Test::Vars';
requires 'File::Find::Rule::ConflictMarker';
requires 'File::Find::Rule::BOM';
};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Plagger/Plugin/CustomFeed/Script.pm view on Meta::CPAN
if ($?) {
$context->log(error => "Error happend while executing '$script': $?");
return;
}
# TODO: check BOM?
if ($output =~ /^<\?xml/) {
$context->log(debug => "Looks like output is RSS/Atom");
$self->SUPER::handle_feed($args->{feed}->url, \$output, $args->{feed});
} else {
eval {
view all matches for this distribution
view release on metacpan or search on metacpan
BOL|5.003007||Viu
BOL_t8_p8|5.033003||Viu
BOL_t8_pb|5.033003||Viu
BOL_tb_p8|5.033003||Viu
BOL_tb_pb|5.033003||Viu
BOM_UTF8|5.025005|5.003007|p
BOM_UTF8_FIRST_BYTE|5.019004||Viu
BOM_UTF8_TAIL|5.019004||Viu
bool|5.003007||Viu
boolSV|5.004000|5.003007|p
boot_core_mro|5.009005||Viu
boot_core_PerlIO|5.007002||Viu
boot_core_UNIVERSAL|5.003007||Viu
#endif
#endif
#if 'A' == 65
#ifndef BOM_UTF8
# define BOM_UTF8 "\xEF\xBB\xBF"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xEF\xBF\xBD"
#endif
#elif '^' == 95
#ifndef BOM_UTF8
# define BOM_UTF8 "\xDD\x73\x66\x73"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x73\x73\x71"
#endif
#elif '^' == 176
#ifndef BOM_UTF8
# define BOM_UTF8 "\xDD\x72\x65\x72"
#endif
#ifndef REPLACEMENT_CHARACTER_UTF8
# define REPLACEMENT_CHARACTER_UTF8 "\xDD\x72\x72\x70"
#endif
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Pod/Elemental/PerlMunger.pm view on Meta::CPAN
#pod =for :list
#pod = filename
#pod the name of the file whose contents are being munged; optional, used for error
#pod messages
#pod = no_strip_bom
#pod If given, the BOM character (U+FEFF) won't be stripped from the input.
#pod Probably best to leave this one off.
#pod
#pod The method will return a character string containing the rewritten and combined
#pod document.
#pod
lib/Pod/Elemental/PerlMunger.pm view on Meta::CPAN
the name of the file whose contents are being munged; optional, used for error
messages
=item no_strip_bom
If given, the BOM character (U+FEFF) won't be stripped from the input.
Probably best to leave this one off.
=back
The method will return a character string containing the rewritten and combined
view all matches for this distribution
view release on metacpan or search on metacpan
corpus/perlpodspec-copy.pod view on Meta::CPAN
the not-first "=encoding" lines are just duplicates of the
first one (e.g., if there's a "=encoding utf8" line, and later on
another "=encoding utf8" line). But Pod processors should complain if
there are contradictory "=encoding" lines in the same document
(e.g., if there is a "=encoding utf8" early in the document and
"=encoding big5" later). Pod processors that recognize BOMs
may also complain if they see an "=encoding" line
that contradicts the BOM (e.g., if a document with a UTF-16LE
BOM has an "=encoding shiftjis" line).
=back
If a Pod processor sees any command other than the ones listed
above (like "=head", or "=haed1", or "=stuff", or "=cuttlefish",
corpus/perlpodspec-copy.pod view on Meta::CPAN
=item *
The well known Unicode Byte Order Marks are as follows: if the
file begins with the two literal byte values 0xFE 0xFF, this is
the BOM for big-endian UTF-16. If the file begins with the two
literal byte value 0xFF 0xFE, this is the BOM for little-endian
UTF-16. If the file begins with the three literal byte values
0xEF 0xBB 0xBF, this is the BOM for UTF-8.
=for comment
use bytes; print map sprintf(" 0x%02X", ord $_), split '', "\x{feff}";
0xEF 0xBB 0xBF
corpus/perlpodspec-copy.pod view on Meta::CPAN
If toke.c is modified to support UTF-32, add mention of those here.
=item *
A naive but sufficient heuristic for testing the first highbit
byte-sequence in a BOM-less file (whether in code or in Pod!), to see
whether that sequence is valid as UTF-8 (RFC 2279) is to check whether
that the first byte in the sequence is in the range 0xC0 - 0xFD
I<and> whether the next byte is in the range
0x80 - 0xBF. If so, the parser may conclude that this file is in
UTF-8, and all highbit sequences in the file should be assumed to
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error( "Did not provide a string to load" );
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error( "Stream has a non UTF-8 BOM" );
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
inc/inc_Module-Build/Module/Build/YAML.pm view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Pod/Simple.pm view on Meta::CPAN
under-E<32> E codes are found in the tree. And ditto \x7f-\x9f
Option to turn highbit characters into their compromised form? (applies
to E parsing too)
TODO: BOM/encoding things.
TODO: ascii-compat things in the XML classes?
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error( "Did not provide a string to load" );
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error( "Stream has a non UTF-8 BOM" );
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
return $self->_error("Did not provide a string to load");
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
# "\357\273\277" => 'UTF-8',
# "\376\377" => 'UTF-16BE',
# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return $self->_error("Stream has a non UTF-8 BOM");
} else {
# Strip UTF-8 bom if found, we'll just ignore it
$string =~ s/^\357\273\277//;
}
view all matches for this distribution