diff --git a/perl/Gnome-Tomboy/s3.pl b/perl/Gnome-Tomboy/s3.pl
new file mode 100755
index 0000000000000000000000000000000000000000..8715cf19d74b52efbce26879dc0188621419560b
--- /dev/null
+++ b/perl/Gnome-Tomboy/s3.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl
+
+use strict;
+
+use Data::Dumper;
+$Data::Dumper::Indent= 1;
+use XML::Parser;
+
+use Util::XML_Parser_Tree;
+
+my @str=
+(
+  "<&>",
+  "\x{2028} Einheitssachtitel Don't stand where the comet",
+);
+
+# binmode (STDOUT, ':utf8');
+foreach my $str (@str)
+{
+  # print "[$str]\n";
+
+  my $s_enc= Util::XML_Parser_Tree::tlt_str ($str);
+  print "str=[$str]\n";
+  print "s_enc=[$s_enc]\n";
+  my $s_enc_wrapped=
+    '<?xml version="1.0" encoding="utf-8"?>'
+    .'<test>'.$s_enc.'</test>';
+  print "s_enc_wrapped=[$s_enc_wrapped]\n";
+  my $pt= parse_string ($s_enc_wrapped);
+  print "pt: ", Dumper ($pt);
+}
+
+sub parse_string
+{
+  my $str= shift;
+
+  print "str=[$str]\n";
+  my $p= new XML::Parser (Style => 'Tree', 'ProtocolEncoding' => 'UTF-8');
+  # print "p: ", Dumper ($p);
+  my $l1;
+  eval { $l1= $p->parse($str, ErrorContext => 3, 'ProtocolEncoding' => 'UTF-8') }; 
+  if ($@)
+  {
+    print "parse failed str=[$str]:\n", $@, "\n";
+    return undef;
+  }
+  # print "l1: ", Dumper ($l1);
+
+  $l1;
+}
+