#!/bin/perl use strict; use warnings; use XML::Simple; my $config = XMLin("meep.xlf", ForceArray => 1); open(EXTR, ">meep.csv") or die $!; foreach my $i ( 0 .. $#{ $config->{file} } ) { my $file = $config->{file}->[$i]->{original}; $file =~ s/game\/stringtable\///i; for my $entry ( keys %{ $config->{file}->[$i]->{body}->[0]->{'trans-unit'} } ) { my $source = $config->{file}->[$i]->{body}->[0]->{'trans-unit'}->{$entry}->{source}->[0]; my $target = $config->{file}->[$i]->{body}->[0]->{'trans-unit'}->{$entry}->{target}->[0]->{content}; print EXTR '"'.$file.'","'.$entry.'","'.$source.'","'.$target.'"'."\n"; } } close EXTR;