for my $i ( 0 .. $#list ) { $data->{"IS_LAST"} = $i < $#list ? 0 : 1; ## ... } #### for my $item ( @list[ 0 .. $#list - 1 ] ) { process_item( $item, 0 ); } process_item( $list[ $#list ], 1 );