in reply to Array refs problem ...

I think what you are trying to do is:
$Row->{ Cells } =[ @{ $Row->{ Cells } }[ @$FieldOrder ] ];
The @{ $Row->{ Cells } } is the array , which you slice using [ @$FieldOrder ];
Then generate an anonymous array ref (The outermost [ ] )
The anon array ref is assigned to the scalar $Row->{ Cells } ,

     Potentia vobiscum ! (Si hoc legere scis nimium eruditionis habes)