in reply to The @$ array construct

See the "Using references" section of perlref. Basically $OrigArray is a reference to an array. From perlref:

2. Anywhere you'd put an identifier (or chain of identi­fiers) as part of a variable or subroutine name, you can replace the identifier with a BLOCK returning a reference of the correct type.

So to dereference $OrigArray, you would use @{$OrigArray}; however, perl allows you to omit the curlies for simple cases so most people write that as @$OrigArray.

-derby