in reply to Hash asignement with RE and map()

how about s///e? eg:

s/(ID)(name)(email)(title)(date)(...)/%{$hash{$1}}=($2,$3,$4,$5)/ie for @lines;

Or something like that. The exact form will depend on whether your re matches keys and values or just values.

update: added caveat