Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
perlpunk committed Dec 31, 2023
1 parent 3a1215d commit fce78e4
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 0 deletions.
59 changes: 59 additions & 0 deletions etc/utf8-compare-dump.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;

use Encode;
use Devel::Peek;
use YAML::XS ();
use YAML::Syck ();
use YAML::Tiny ();
use YAML::PP::LibYAML ();
use YAML::PP::Ref ();

my $utf8 = "ä";
my $dec = decode_utf8 $utf8;
say "==================== YAML::XS utf8:";
my $data = YAML::XS::Dump($utf8);
Dump $data;
$data = "";
say "==================== YAML::XS perl:";
eval { $data = YAML::XS::Dump($dec)} or $data = $@;
Dump $data;

$YAML::Syck::ImplicitUnicode = 1;
say "==================== YAML::Syck utf8:";
$data = YAML::Syck::Dump($utf8);
Dump $data;
say "==================== YAML::Syck perl:";
$data = YAML::Syck::Dump($dec);
Dump $data;

say "==================== YAML::Tiny utf8:";
$data = "";
eval { $data = YAML::Tiny::Dump("- $utf8") } or $data = $@;
Dump $data;
say "==================== YAML::Tiny perl:";
$data = YAML::Tiny::Dump("- $dec");
Dump $data;

say "==================== YAML::PP::LibYAML utf8:";
$data = YAML::PP::LibYAML::Dump($utf8);
Dump $data;
say "==================== YAML::PP::LibYAML perl:";
$data = YAML::PP::LibYAML::Dump($dec);
Dump $data;

say "==================== YAML::PP::Ref utf8:";
$data = YAML::PP::Ref->new->dump_string($utf8);
Dump $data;
say "==================== YAML::PP::Ref perl:";
$data = YAML::PP::Ref->new->dump_string($dec);
Dump $data;

say "==================== YAML::PP utf8:";
$data = YAML::PP->new->dump_string($utf8);
Dump $data;
say "==================== YAML::PP perl:";
$data = YAML::PP->new->dump_string($dec);
Dump $data;
59 changes: 59 additions & 0 deletions etc/utf8-compare-load.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;

use Encode;
use Devel::Peek;
use YAML::XS ();
use YAML::Syck ();
use YAML::Tiny ();
use YAML::PP::LibYAML ();
use YAML::PP::Ref ();

my $utf8 = "ä";
my $dec = decode_utf8 $utf8;
say "==================== YAML::XS utf8:";
my $data = YAML::XS::Load($utf8);
Dump $data;
$data = "";
say "==================== YAML::XS perl:";
eval { $data = YAML::XS::Load($dec)} or $data = $@;
Dump $data;

$YAML::Syck::ImplicitUnicode = 1;
say "==================== YAML::Syck utf8:";
$data = YAML::Syck::Load($utf8);
Dump $data;
say "==================== YAML::Syck perl:";
$data = YAML::Syck::Load($dec);
Dump $data;

say "==================== YAML::Tiny utf8:";
$data = "";
eval { $data = YAML::Tiny::Load("- $utf8") } or $data = $@;
Dump $data->[0];
say "==================== YAML::Tiny perl:";
$data = YAML::Tiny::Load("- $dec");
Dump $data->[0];

say "==================== YAML::PP::LibYAML utf8:";
$data = YAML::PP::LibYAML::Load($utf8);
Dump $data;
say "==================== YAML::PP::LibYAML perl:";
$data = YAML::PP::LibYAML::Load($dec);
Dump $data;

say "==================== YAML::PP::Ref utf8:";
$data = YAML::PP::Ref->new->load_string($utf8);
Dump $data;
say "==================== YAML::PP::Ref perl:";
$data = YAML::PP::Ref->new->load_string($dec);
Dump $data;

say "==================== YAML::PP utf8:";
$data = YAML::PP->new->load_string($utf8);
Dump $data;
say "==================== YAML::PP perl:";
$data = YAML::PP->new->load_string($dec);
Dump $data;

0 comments on commit fce78e4

Please sign in to comment.