In this specific case, you might like: return delete $self->{buffered_text}; but several times I have felt the desire to have a "delayed assigment" syntax much like the post increment and decrement operators. That is, an assignment operator that would return the value of the variable from before the assignment takes effect.
For example, without advocating it as a reasonable syntax choice, consider =: as meaning "delayed assigment" and .=: being the delayed version of .=, etc.
my $old_value= $value .=: $more_text; # and return $self->{buffered_text} =: "";
But I've wanted this infrequently enough and found the creation of a temporary variable to be reasonable enough, that I'm not pushing for such an addition.
BTW, I'd use your original version of the code over your last version in production. (:
- tye (but my friends call me "Tye")In reply to (tye)Re: Swapping object variables
by tye
in thread Swapping object variables
by Matts
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |