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