#!/usr/bin/perl $/ = "**"; %LANGS = qw/English 1 French 1 German 1/; print "\n"; print "\n"; while(<>) { my $clang = undef; s!\*\*$!!; next if m!^[\n\s]*$!s; print "<_entry_>\n"; @entries = split /\n/, $_; for $x (@entries) { next if $x =~ m!^\s*$!; $x =~ m!<([^>]*)>!; $id = $1; $term = $'; if ($LANGS{$id}) { if ($clang) { print " \n"; } $clang = $id; print " ", start_tag("_lang_", { lang => $clang, term => $term }), "\n"; } else { print " " if $clang; print " ",start_tag($id),$term,end_tag($id),"\n"; } #print "-$x\n"; } if ($clang) { print " \n"; } print "\n"; print "\n \n\n"; } print "\n"; sub end_tag { my $tagname = shift; $tagname =~ s/\s+//g; $tagname = lc($tagname); return ""; } sub start_tag { my $tagname = shift; my $a = shift; my %x = %$a; my $attrs = join("",map {" $_=\"$x{$_}\"" } keys %x); $tagname =~ s/\s+//g; $tagname = lc($tagname); return "<$tagname$attrs>"; }