in reply to Permutation algorithm?

I'm running out the door, but I wanted to make a tangential point before I go. Consider whether you really want to use parallel arrays... looks to me like you'd rather say:

my %ControlMatrix; $ControlMatrix{Label} = [ 1, 2, 1, 0, 0, 1, 2, 1, 1, 2, 1 ]; $ControlMatrix{Textbox} = [ 1, 1, 2, 0, 0, 1, 2, 2, 1, 1, 0 ]; $ControlMatrix{Button} = [ 1, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0 ];

After all, that's what hashes are for, right? :-)