my( $x, $y, $z ) = ( 1, 4, 7 ); print do{ our $MACRO_RETURN; local $MACRO_RETURN; $MACRO_RETURN = ( $x + $y ) * $z; goto MACRO_RETURN;; MACRO_RETURN: $MACRO_RETURN }; for my $x ( 1 .. 10 ) { print do{ our $MACRO_RETURN; local $MACRO_RETURN; $MACRO_RETURN = ( $x + $y ) * $z; goto MACRO_RETURN;; MACRO_RETURN: $MACRO_RETURN }; }