I have been following this thread, but I would just like to inject a summary of the various related UPPERCASE blocks
PRE Executes on block entry. Loop variables are in a known state POST Executes on block exit. Loop variables are in a known state NEXT Executes on implicit block exit or call to next() Loop variables are in a known state LAST Executes on implicit loop exit or call to last() Loop variables may be unknown And I think this thread is proposing FIRST A PRE block that is executed only on the first itteration of the loop BETWEEN A PRE block that does not execute for the first iteration of the loop. So FIRST and BETWEEN are just shorthand for my $count; loop { PRE { if ($count++) { # BETWEEN code here } else { # FIRST code here } } } Graham.