in reply to Toggling between two values
BTW, the reason why this doesn't work: $result = $head. " er glad " . $result while( my $head = &swap ); ... is that the parsing works left-to-right, and so $head has to be declared by the point where it is first seen in scanning, not where it would first be touched in execution.
-- Chip Salzenberg, Free-Floating Agent of Chaos