Reading and playing with https://docs.perl6.org/routine/temp
There's an example showing how temp is "dynamic" - that any jump outside a block restores the value. All well and good. Then I thought, what if I want a lexical temporary value- then use "my"- and this is all well and good: my $v = "original"; { my $v = "new one"; start { say "[PROMISE] Value before block is left: `$v`"; sleep 1; say "[PROMISE] Block was left while we slept; value is still `$v`"; } sleep ½; say "About to leave the block; value is `$v`"; } say "Left the block; value is now `$v`"; sleep 2; Then I thought, well, what if I want to initialize the inner $v with the outer $v. my $v = "original"; { my $v = $v; # "SORRY! Cannot use variable $v in declaration to initialize itself" say "inner value is $v"; $v= "new one"; ... Gentle reader, how would you succinctly solve this contrived example? Anything you like better than this? my $v = "original"; given $v -> $v is copy { say "inner value is $v"; # "original", good $v= "new one"; .... -y