updated git and svn scripts
[xrzperl.git] / xmlout
blob1ef9c2cb553c4783a629f4823d48c7a5b98362ed
1 #!/usr/bin/perl
2 ###APPNAME: xmlout.pl
3 ###APPAUTHOR: xiaoranzzz
4 ###APPDATE: Tue Mar 11 04:58:02 2008
5 ###APPVER: 0.1
6 ###APPDESC: create simple xml using XML::Simple,\n\tRead data from commandline,standardIn
7 ###APPUSAGE: tagname:prop=value,[prop=value,...]:text
8 ###APPEXAMPLE: xmlout book:name=Bash Reference:
9 use strict;
10 use XML::Simple;
11 use Data::Dumper;
12 foreach(@ARGV){
13 exit(system("plhelp",$0,@ARGV)) if($_ eq "-h" || $_ eq "--help");
16 my @DATA;
17 if(@ARGV) {
18 @DATA=@ARGV;
20 else {
21 while(<STDIN>) {
22 chomp;
23 push(@DATA,$_);
26 print('<?xml version="1.0" encoding="utf-8" standalone="yes"?>',"\n");
27 print('<opt>',"\n");
28 foreach my $LINE(@DATA) {
29 my @match = $LINE =~ /^([^:]+):([^:]*):(.*)$/;
30 next unless(@match);
31 my $tagname = $match[0];
32 my $proptext = $match[1];
33 my $text = $match[2];
34 print("<$tagname");
35 my @match = $proptext =~ /([^=]+)=([^,]*),?/g;
36 if(@match) {
37 for(my $i=0;$i<@match;$i+=2) {
38 print(" $match[$i]=\'$match[$i+1]\'");
41 print($text ? "><![CDATA[$text]]><\/$tagname>" : ' />',"\n");
44 print('</opt>',"\n");
46 exit 0;