in reply to Printing the last few elements of an array.

There is a very nifty trick documented in perldata regarding the referencing of elements of arrays - Where the subscript referenced in an array is negative, the element returned is counted from the end of the array. As such, the last element of the array could be returned using the syntax of $record[ -1 ], thereby alleviating the requirement to reverse the array elements prior to reference.

Furthermore, multiple array elements can be returned using an array slice - For example, the following will return the last three elements of the array:

my ( $third_last, $second_last, $last ) = @record[ -3, -2, -1 ];

Again, this syntax and behaviour is documented in perldata.

Additionally, depending upon the size of the file being read into memory, the modules Tie::File and File::ReadBackwards may also be of interest.

 

perl -le 'print+unpack("N",pack("B32","00000000000000000000000111111011"))'

Replies are listed 'Best First'.
Re: Re: Printing the last few elements of an array.
by jonnyfolk (Vicar) on Dec 16, 2002 at 13:31 UTC
    Thanks for your reply, rob_au - I posted to try and broaden my (minute) knowledge base so this is what I needed!