@ O comentário de MelBurslan está correto, você não deve esperar que as pessoas escrevam scripts para você, já que não é para isso que o StackExchange é. Mas neste caso, eu tive algum tempo: aqui está um script que faz o que a pergunta faz, assumindo que o XML não contém nenhuma nova linha, e que as partes do subdiretório e do nome do arquivo não contêm caracteres especiais:
#!/usr/bin/perl -n
my $nameRE = qr/[\w.]+/;
chomp;
m/^(.*)\s+($nameRE)\s+($nameRE)\s*$/ or do { warn "didn't match line $.: $_\n"; next };
my ( $xml, $dir, $line ) = ( $1, $2, $3 );
mkdir $dir;
open my $f, ">>", "$dir/$line.raw";
print $f "$xml\n";
close $f;
Salvar como process.pl
e executar ./process.pl inputfile.xml
.