maintain classpath in more elementary manner: turn ISABELLE_CLASSPATH into -classpath option, so that all jars are covered by sun.misc.Launcher.AppClassLoader (e.g. relevant for loading add-on resources);
ignore $ISABELLE_JAVA_EXT -- do not change java.ext.dirs;
#!/usr/bin/env perl
#
# Author: Makarius
#
# yxml.pl - simple XML to YXML converter
#
use warnings;
use strict;
use XML::Parser;
binmode(STDOUT, ":utf8");
sub handle_start {
print chr(5), chr(6), $_[1];
for (my $i = 2; $i <= $#_; $i++) {
print ($i % 2 == 0 ? chr(6) : "=");
print $_[$i];
}
print chr(5);
}
sub handle_end {
print chr(5), chr(6), chr(5);
}
sub handle_char {
print $_[1];
}
my $parser = new XML::Parser(Handlers =>
{Start => \&handle_start,
End => \&handle_end,
Char => \&handle_char});
$parser->parse(*STDIN) or die $!;