equal
deleted
inserted
replaced
|
1 #!/usr/bin/env perl |
|
2 # |
|
3 # Author: Makarius |
|
4 # |
|
5 # yxml.pl - simple XML to YXML converter |
|
6 # |
|
7 |
|
8 use warnings; |
|
9 use strict; |
|
10 |
|
11 use XML::Parser; |
|
12 |
|
13 binmode(STDOUT, ":utf8"); |
|
14 |
|
15 sub handle_start { |
|
16 print chr(5), chr(6), $_[1]; |
|
17 for (my $i = 2; $i <= $#_; $i++) { |
|
18 print ($i % 2 == 0 ? chr(6) : "="); |
|
19 print $_[$i]; |
|
20 } |
|
21 print chr(5); |
|
22 } |
|
23 |
|
24 sub handle_end { |
|
25 print chr(5), chr(6), chr(5); |
|
26 } |
|
27 |
|
28 sub handle_char { |
|
29 print $_[1]; |
|
30 } |
|
31 |
|
32 my $parser = new XML::Parser(Handlers => |
|
33 {Start => \&handle_start, |
|
34 End => \&handle_end, |
|
35 Char => \&handle_char}); |
|
36 |
|
37 $parser->parse(*STDIN) or die $!; |