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
lib/Data/Dumper/Interp.pm view on Meta::CPAN
sub __unesc_unicode() { # edits $_
if (/^"/) {
# Data::Dumper with Useqq(1) outputs wide characters as hex escapes;
# turn them back into the original characters if "printable".
# That means "Graph" category EXCEPT:
# BOM (which is ZERO WIDTH NO-BREAK SPACE so is considered "Graphical")
# and any other "Format" category Unicode characters; we want see those
# in hex.
s{
\G (?: [^\\]++ | \\[^x] )*+ \K (?<w> \\x\x{7B} (?<hex>[a-fA-F0-9]+) \x{7D} )
}{
view all matches for this distribution
view release on metacpan or search on metacpan
BmFLAGS|5.009005||Viu
BmPREVIOUS|5.003007||Viu
BmRARE|5.003007||Viu
BmUSEFUL|5.003007||Viu
BOL|5.003007||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/Data/FR/Town.pm view on Meta::CPAN
09053;;Bestiac;BESTIAC;09250;09;ARIEGE;1
09054;;Betchat;BETCHAT;09160;09;ARIEGE;1
09055;;Bethmale;BETHMALE;09800;09;ARIEGE;1
09056;;Bézac;BEZAC;09100;09;ARIEGE;1
09057;;Biert;BIERT;09320;09;ARIEGE;1
09058;;Bompas;BOMPAS;09400;09;ARIEGE;1
09059;;Bonac-Irazein;BONAC-IRAZEIN;09800;09;ARIEGE;1
09060;;Bonnac;BONNAC;09100;09;ARIEGE;1
09061;Les;Bordes-sur-Arize;BORDES-SUR-ARIZE;09350;09;ARIEGE;1
09062;Les;Bordes-sur-Lez;BORDES-SUR-LEZ;09800;09;ARIEGE;1
09063;Le;Bosc;BOSC;09000;09;ARIEGE;1
lib/Data/FR/Town.pm view on Meta::CPAN
28322;;Rueil-la-Gadelière;RUEIL-LA-GADELIERE;28270;28;EURE ET LOIR;1
28323;;Saint-Ange-et-Torçay;SAINT-ANGE-ET-TORCAY;28170;28;EURE ET LOIR;1
28324;;Saint-Arnoult-des-Bois;SAINT-ARNOULT-DES-BOIS;28190;28;EURE ET LOIR;1
28325;;Saint-Aubin-des-Bois;SAINT-AUBIN-DES-BOIS;28300;28;EURE ET LOIR;1
28326;;Saint-Avit-les-Guespières;SAINT-AVIT-LES-GUESPIERES;28120;28;EURE ET LOIR;1
28327;;Saint-Bomer;SAINT-BOMER;28330;28;EURE ET LOIR;1
28329;;Saint-Christophe;SAINT-CHRISTOPHE;28200;28;EURE ET LOIR;1
28330;;Saint-Cloud-en-Dunois;SAINT-CLOUD-EN-DUNOIS;28200;28;EURE ET LOIR;1
28331;;Saint-Denis-d'Authou;SAINT-DENIS-D'AUTHOU;28480;28;EURE ET LOIR;1
28332;;Sainte-Gemme-Moronval;SAINTE-GEMME-MORONVAL;28500;28;EURE ET LOIR;1
28333;;Saint-Denis-des-Puits;SAINT-DENIS-DES-PUITS;28240;28;EURE ET LOIR;1
lib/Data/FR/Town.pm view on Meta::CPAN
33055;;Blaignan;BLAIGNAN;33340;33;GIRONDE;1
33056;;Blanquefort;BLANQUEFORT;33290;33;GIRONDE;1
33057;;Blasimon;BLASIMON;33540;33;GIRONDE;1
33058;;Blaye;BLAYE;33390;33;GIRONDE;1
33059;;Blésignac;BLESIGNAC;33670;33;GIRONDE;1
33060;;Bommes;BOMMES;33210;33;GIRONDE;1
33061;;Bonnetan;BONNETAN;33370;33;GIRONDE;1
33062;;Bonzac;BONZAC;33910;33;GIRONDE;1
33063;;Bordeaux;BORDEAUX;33000;33;GIRONDE;1
33064;;Bossugan;BOSSUGAN;33350;33;GIRONDE;1
33065;;Bouliac;BOULIAC;33270;33;GIRONDE;1
lib/Data/FR/Town.pm view on Meta::CPAN
36014;;Bazaiges;BAZAIGES;36270;36;INDRE;1
36015;;Beaulieu;BEAULIEU;36310;36;INDRE;1
36016;;Bélâbre;BELABRE;36370;36;INDRE;1
36017;La;Berthenoux;BERTHENOUX;36400;36;INDRE;1
36018;Le;Blanc;BLANC;36300;36;INDRE;1
36019;;Bommiers;BOMMIERS;36120;36;INDRE;1
36020;;Bonneuil;BONNEUIL;36310;36;INDRE;1
36021;Les;Bordes;BORDES;36100;36;INDRE;1
36022;;Bouesse;BOUESSE;36200;36;INDRE;1
36023;;Bouges-le-Château;BOUGES-LE-CHATEAU;36110;36;INDRE;1
36024;;Bretagne;BRETAGNE;36110;36;INDRE;1
lib/Data/FR/Town.pm view on Meta::CPAN
61364;;Saint-Aubert-sur-Orne;SAINT-AUBERT-SUR-ORNE;61210;61;ORNE;1
61365;;Saint-Aubin-d'Appenai;SAINT-AUBIN-D'APPENAI;61170;61;ORNE;1
61366;;Saint-Aubin-de-Bonneval;SAINT-AUBIN-DE-BONNEVAL;61470;61;ORNE;1
61367;;Saint-Aubin-de-Courteraie;SAINT-AUBIN-DE-COURTERAIE;61560;61;ORNE;1
61368;;Saint-Aubin-des-Grois;SAINT-AUBIN-DES-GROIS;61340;61;ORNE;1
61369;;Saint-Bômer-les-Forges;SAINT-BOMER-LES-FORGES;61700;61;ORNE;1
61370;;Saint-Brice;SAINT-BRICE;61700;61;ORNE;1
61371;;Saint-Brice-sous-Rânes;SAINT-BRICE-SOUS-RANES;61150;61;ORNE;1
61372;;Saint-Céneri-le-Gérei;SAINT-CENERI-LE-GEREI;61250;61;ORNE;1
61373;;Sainte-Céronne-lès-Mortagne;SAINTE-CERONNE-LES-MORTAGNE;61380;61;ORNE;1
61374;;Saint-Christophe-de-Chaulieu;SAINT-CHRISTOPHE-DE-CHAULIEU;61800;61;ORNE;1
lib/Data/FR/Town.pm view on Meta::CPAN
62148;;Bois-Bernard;BOIS-BERNARD;62320;62;PAS DE CALAIS;1
62149;;Boisdinghem;BOISDINGHEM;62500;62;PAS DE CALAIS;1
62150;;Boisjean;BOISJEAN;62170;62;PAS DE CALAIS;1
62151;;Boisleux-au-Mont;BOISLEUX-AU-MONT;62175;62;PAS DE CALAIS;1
62152;;Boisleux-Saint-Marc;BOISLEUX-SAINT-MARC;62175;62;PAS DE CALAIS;1
62153;;Bomy;BOMY;62960;62;PAS DE CALAIS;1
62154;;Bonnières;BONNIERES;62270;62;PAS DE CALAIS;1
62155;;Bonningues-lès-Ardres;BONNINGUES-LES-ARDRES;62890;62;PAS DE CALAIS;1
62156;;Bonningues-lès-Calais;BONNINGUES-LES-CALAIS;62340;62;PAS DE CALAIS;1
62157;;Boubers-lès-Hesmond;BOUBERS-LES-HESMOND;62990;62;PAS DE CALAIS;1
62158;;Boubers-sur-Canche;BOUBERS-SUR-CANCHE;62270;62;PAS DE CALAIS;1
lib/Data/FR/Town.pm view on Meta::CPAN
66016;;Banyuls-sur-Mer;BANYULS-SUR-MER;66650;66;PYRENEES ORIENTALES;1
66017;Le;Barcarès;BARCARES;66420;66;PYRENEES ORIENTALES;1
66018;La;Bastide;BASTIDE;66110;66;PYRENEES ORIENTALES;1
66019;;Bélesta;BELESTA;66720;66;PYRENEES ORIENTALES;1
66020;;Bolquère;BOLQUERE;66210;66;PYRENEES ORIENTALES;1
66021;;Bompas;BOMPAS;66430;66;PYRENEES ORIENTALES;1
66022;;Boule-d'Amont;BOULE-D'AMONT;66130;66;PYRENEES ORIENTALES;1
66023;;Bouleternère;BOULETERNERE;66130;66;PYRENEES ORIENTALES;1
66024;Le;Boulou;BOULOU;66160;66;PYRENEES ORIENTALES;1
66025;;Bourg-Madame;BOURG-MADAME;66760;66;PYRENEES ORIENTALES;1
66026;;Brouilla;BROUILLA;66620;66;PYRENEES ORIENTALES;1
lib/Data/FR/Town.pm view on Meta::CPAN
77039;;Boissise-la-Bertrand;BOISSISE-LA-BERTRAND;77350;77;SEINE ET MARNE;1
77040;;Boissise-le-Roi;BOISSISE-LE-ROI;77310;77;SEINE ET MARNE;1
77041;;Boissy-aux-Cailles;BOISSY-AUX-CAILLES;77760;77;SEINE ET MARNE;1
77042;;Boissy-le-Châtel;BOISSY-LE-CHATEL;77169;77;SEINE ET MARNE;1
77043;;Boitron;BOITRON;77750;77;SEINE ET MARNE;1
77044;;Bombon;BOMBON;77720;77;SEINE ET MARNE;1
77045;;Bougligny;BOUGLIGNY;77570;77;SEINE ET MARNE;1
77046;;Boulancourt;BOULANCOURT;77760;77;SEINE ET MARNE;1
77047;;Bouleurs;BOULEURS;77580;77;SEINE ET MARNE;1
77048;;Bourron-Marlotte;BOURRON-MARLOTTE;77780;77;SEINE ET MARNE;1
77049;;Boutigny;BOUTIGNY;77470;77;SEINE ET MARNE;1
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
}
},
"develop" : {
"requires" : {
"Pod::Coverage::TrustPod" : "0",
"Test::BOM" : "0",
"Test::More" : "0.88",
"Test::NoTabs" : "0",
"Test::Perl::Critic" : "0",
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08"
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
0.006 2020-03-08
- script handle BOM as Text::CSV doesn't
- script handle no pk_insert
- chop_cols not try splice past end of array
0.005 2020-02-01
- work around Text::CSV not checking Text::CSV_XS version like it should
view all matches for this distribution
view release on metacpan or search on metacpan
t/fixtures/encoding/utf8.sii view on Meta::CPAN
SiiNunit
{
# UTF-8 BOM before magic mark
utf8 : utf8.raw_bytes {
string: "Genève"
}
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
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/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/Data/Table/Text.pm view on Meta::CPAN
processSizesInParallel
quoteFile
randomizeArray
readBinaryFile readFile readFileFromRemote readFiles readGZipFile readStdIn readUtf16File
rectangularArray rectangularArray2
relFromAbsAgainstAbs reloadHashes removeBOM removeDuplicatePrefixes
removeFilePathsFromStructure removeFilePrefix removeFoldersFromDataStructure
replaceStringWithString reportAttributeSettings reportAttributes
reportExportableMethods reportReplacableMethods reportSettings retrieveFile
runInParallel runInSquareRootParallel
s3DownloadFolder s3FileExists s3ListFilesAndSizes s3ReadFile s3ReadString
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/TableReader/Decoder/HTML.pm view on Meta::CPAN
return 1;
}
sub _build__tables {
my $self= shift;
# TODO: determine encoding from BOM, or from meta-equiv while parsing...
binmode $self->file_handle;
return $self->_parse_html_tables($self->file_handle);
}
sub _parse_html_tables {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/TableReader/Decoder/CSV.pm view on Meta::CPAN
return 'UTF-8' if $enc eq 'utf8';
return uc($1) if $enc =~ /encoding\(([^)]+)\)/;
return uc($enc); # could throw a parse error, but this is probably more useful behavior
}
# fh_start_pos will be set if we have already checked for BOM
if ($self->autodetect_encoding && !defined $self->_fh_start_pos) {
$self->_fh_start_pos(tell $fh or 0);
if (($enc= $self->_autodetect_bom($fh))) {
binmode($fh, ":encoding($enc)");
# re-mark the start after the BOM
$self->_fh_start_pos(tell $fh or 0);
return $enc;
}
}
return '';
lib/Data/TableReader/Decoder/CSV.pm view on Meta::CPAN
my $fh= $self->file_handle;
my $row_ref= $self->_row_ref;
# Keeping this object is just an indication of whether an iterator has been used yet
if (!$row_ref) {
$self->_row_ref($row_ref= \(my $row= 0));
# trigger BOM detection if needed
my $enc= $self->encoding;
$self->_log->('debug', "encoding is ".($enc||'maybe utf8'));
# ensure _fh_start_pos is set
$self->_fh_start_pos(tell $fh or 0);
}
lib/Data/TableReader/Decoder/CSV.pm view on Meta::CPAN
);
$self->_iterator($i);
return $i;
}
# This design is simplified from File::BOM in that it ignores UTF-32
# and in any "normal" case it can read from a pipe with only one
# character to push back, avoiding the need to tie the file handle.
# It also checks for whether layers have already been enabled.
# It also avoids seeking to the start of the file handle, in case
# the user deliberately seeked to a position.
lib/Data/TableReader/Decoder/CSV.pm view on Meta::CPAN
return 'UTF-8';
}
}
}
# It wasn't a BOM. Try to undo our read.
$self->_log->('debug', 'No BOM in stream, seeking back to start');
if (length $buf == 1) {
$fh->ungetc(ord $buf);
} elsif (!seek($fh, $fpos, 0)) {
# Can't seek
if ($fh->can('ungets')) { # support for FileHandle::Unget
$fh->ungets($buf);
} else {
croak "Can't seek input handle after BOM detection; You should set an encoding manually, buffer the entire input, or use FileHandle::Unget";
}
}
return;
}
lib/Data/TableReader/Decoder/CSV.pm view on Meta::CPAN
If the stream has a PerlIO encoding() on it, no additional decoding is done.
=item *
If the stream has a BOM (byte-order mark) for UTF-8 or UTF-16, it adds that
encoding with C<binmode>.
=item *
Else, it lets the parser decide. The default Text::CSV parser will
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
---
{WABlGg=>{WsxTgoCmJtWj=>79121,FWbXcNs=>'zY',HAZOai__Oeuny=>['uLkhvnHL'],yrOEvRUhB=>'leTRGn_ljQd',TMQr_DaY=>'Ex-Gn',ORpx=>'eYFA',leIuEzyBOpzvIJ=>0,OEXaHoI=>'',MJQeEJFLQxA=>0,_RuafJI=>'0.5'},LumhOl=>{JuoIjb=>'*/*',opsmlZOiaOUc=>0,JTQ=>'1',pHlNZJCtCAR=>...
---
{WABlGg=>{MoXkWVwtWtBwkq=>'ubUUbR;kdvxPt;bBcvCG;qncsPtdjUV;bIvhPoNcBr;NHVRfS'},LumhOl=>{JuoIjb=>'*/*',EfrbvjmcgPegFyg=>'eVyK, RBriKYc',LTDrnMNCqjHMKxM=>'Ex-or',WbGVflxHyB=>88,opsmlZOiaOUc=>2,HYpBCoBNdaqv=>'XINP/WQe',JTQ=>'1',pHlNZJCtCAR=>1,qpjfZFh=>'...
---
{WABlGg=>{MoXkWVwtWtBwkq=>'_aac;kdvxPt;bBcvCG;NHVRfS;ubUUbR;ugA;dKuoNX'},LumhOl=>{JuoIjb=>'XINP/WQe,*/*;x=0.0',EfrbvjmcgPegFyg=>'eVyK, RBriKYc',LTDrnMNCqjHMKxM=>'Ex-or,Ex;x=0.1',vjOR_XPbT=>'ifIYLG',WbGVflxHyB=>256,opsmlZOiaOUc=>9,HYpBCoBNdaqv=>'XINP/...
---
{WABlGg=>{WsxTgoCmJtWj=>79121,uJBWfGbhQli=>597,MoXkWVwtWtBwkq=>'y;_aac;ugA;dKuoNX;kdvxPt;NHVRfS;ubUUbR;bBcvCG',ShH=>{WABlGg=>'eQKFL'},mEJfnAhcLEvXOonkXyHwD=>597,HAZOai__Oeuny=>['uLkhvnHL','MpouB_KbUxvwcEubzzYLHgC'],ruZkzMnxAI=>0,yrOEvRUhB=>'XXKnDFeKb...
---
{WABlGg=>{MoXkWVwtWtBwkq=>'ugA;dKuoNX;kdvxPt;NHVRfS;ubUUbR;bBcvCG;qYxCdCMESXtRY;YG;_aac',TRjxvaPmnUCCiBTJqV=>{rtiJSiR=>'349-1-5',mflaxtxp=>'349-1-1',GboTnhYH=>'72668',TMQr_DaY=>'DT'},ORpx=>'TRjxvaPmnUCCiBTJqV',rMBPIcYzSQM=>'46684332Lve5'},gQ=>{svnVKH...
---
---
{WABlGg=>{EVWCeOuOkCRHK=>0,MoXkWVwtWtBwkq=>'_aac;y',hLFbBmKcaW=>{'270'=>[0,123637068,0],'3634'=>[0,123637068,0],'4996'=>[0,123637068,0],'959'=>[0,123637068,0],'1960'=>[0,123637068,0],'7507'=>[0,123637068,0],'1208'=>[0,123637068,0],'483'=>[0,123637068...
---
{WABlGg=>{MoXkWVwtWtBwkq=>'_aac;kdvxPt;NHVRfS;ubUUbR;bBcvCG;ugA;dKuoNX;YG',TRjxvaPmnUCCiBTJqV=>{rtiJSiR=>'349-3-1',mflaxtxp=>'349-3-8',GboTnhYH=>'110414280',TMQr_DaY=>'Ex-Gn'},ORpx=>'TRjxvaPmnUCCiBTJqV',rMBPIcYzSQM=>'30007Xm1o24437d'},gQ=>{svnVKHykek...
---
{WABlGg=>{WsxTgoCmJtWj=>195241,uJBWfGbhQli=>1024,EVWCeOuOkCRHK=>0,MoXkWVwtWtBwkq=>'kdvxPt;bBcvCG;_aac',FWbXcNs=>'CF',fnItfpriiXyKjY=>['3563','1365','4977','4996','172','483','1415','1392','7507','203','1208','3649398','931'],hLFbBmKcaW=>{'270'=>['0',...
---
{WABlGg=>{WsxTgoCmJtWj=>79121,freSfeVzWWZa=>{'6565629K3169930K0K58857'=>['39.112536',0],'6565629K3169930K0K85257'=>['8.919827',0],'13590196K3169930K0K10057'=>['39.112536',0],'13590196K3169930K0K93957'=>['8.919827',0],'5233038K3169930K0K58057'=>['39.1...
---
{WABlGg=>{MoXkWVwtWtBwkq=>'_aac;kdvxPt;bBcvCG;ksrFbf',DZQUXUpvxPbU=>0,ORpx=>'LEAt'},LumhOl=>{JuoIjb=>'*/*',EfrbvjmcgPegFyg=>'eVyK, RBriKYc',LTDrnMNCqjHMKxM=>'aT',WbGVflxHyB=>13,opsmlZOiaOUc=>3,HYpBCoBNdaqv=>'KqnhC/uUU',JTQ=>'1',pHlNZJCtCAR=>1,qpjfZFh...
---
view all matches for this distribution
view release on metacpan or search on metacpan
share/sanctions.yml view on Meta::CPAN
residence:
- bi
- dob_epoch:
- 63072000
names:
- Ignace SIBOMANA
place_of_birth:
- bi
- citizen:
- co
- mx
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Datafile/Hash.pm view on Meta::CPAN
Skip blank lines.
=item skip_headers => 0 (default)
Number of leading lines to skip (e.g., BOM or banner).
=item comment_char => '#' (default)
Character marking comment lines.
view all matches for this distribution
view release on metacpan or search on metacpan
dev-bin/convert-from-csv.pl view on Meta::CPAN
my $csv = Text::CSV->new ({ binary => 1 });
open my $fh, '<:utf8', $ARGV[0] or die $!;
$_ = <$fh>; # throw away the header line with BOM.
while ( my $row = $csv->getline($fh) ) {
# 西å
æ¥æ,ææ,æ¯å¦æ¾å,å註
my ($date, $weekday, $is_holiday,$description) = @$row;
my ($year, $month, $day) = $date =~ m{^(....)(..)(..)$};
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