s/^\s+\(Text [aA].* (\d+:\d+ .*$)/\.T1 "$1/g; s/^\s+\(Text [rR].* (\d+:\d+ .*$)/\.T2 "$1/g; #### %chartran = ( agrave => "s/\\\xE0/\\\[agrave]/og", aacute => "s/\\\xE1/\\\[aacute]/og", acirc => "s/\\\xE2/\\\[acirc]/og", auml => "s/\\\xE4/\\\[auml]/og", Agrave => "s/\\\xC0/\\\[Agrave]/og", Aacute => "s/\\\xC1/\\\[Aacute]/og", ); #### while () { foreach $testchar ( keys %chartran ) { if (eval ( "$chartran{$testchar}" )) { ... write out results .... } } }