> How does one write Perl code such that it can work
> without modification in the face of labeling,
> destructive, or positional field mutations?
It's going to take a lot of effort to do it in Perl
or in any other language.
Here's a small table with only two columns:
Now switch the order of the two columns,
and change the names so that ID1 is now called ID2 and ID2 is now called ID1:
Now how are you going to write a program that magically copes with that?
This is not a Perl problem; it's an impossible problem.
Even looking at the database schema is not going to work.
The only solution is for the database itself to carry its own
description. One way is to install a special row
into each table:
then the program can select this row, examine it to
see whether the column names or the order have changed,
and it can make the appropriate allowances.