Dave,
this was even more interesting than the original tip! This way of using references will be very useful as we often loop through cmsb arrays changing or adding values.
But doesn't the last unset clear the referenced variable as well as the local pointer ($record)?
-aev-