#!/usr/bin/perl -w use strict; use XML::Twig; eval script2perl( XML::Twig->new->parse( \*DATA)); sub script2perl { my $t= shift; foreach my $for ($t->findnodes( '//for')) { if( my $range= $for->att( 'range')) { $for->prefix( "for ($range) {\n") ->suffix( "\n}\n") ->erase; } } foreach my $print ($t->findnodes( '//print')) { $print->prefix( q{ print "}) ->suffix( q{";}) ->erase; } return $t->root->text } __DATA__