in reply to I am confused by a "Learning Perl" sample showing "unshift"
This natural confusion may occur because there are two ways how to prepend one array to another. You can prepend starting from the beginning of an array or from the end.
Here, in Perl, unshift prepends an array starting from the end.
Documentation says it is opposite to 'push', but how opposite? By how many of attributes - by one or two? One attribute is the positions of the target array to which new array is being added (to the beginning or to the end). Second is an orientation of second array. In Perl - by two.