%search ( R1 => "/^\s+\(Text [aA].* (\d+:\d+ .*$)/", R2 => ..... ); $replace ( R1 => "/\.T1 \"$1/", R2 => ..... ); while { foreach $rule ( keys %search ) { s/$search{$rule}/$replace{$rule}/g; } }