# -*- Mode: Python -*- use warnings; use Test::More 'no_plan'; use Acme::Pythonic debug => 0; # ---------------------------------------------------------------------- my $z = 4 do: $z *= 2 $z += 1 if $z == 4 is $z, 9 # ---------------------------------------------------------------------- do: $z *= 2 $z += 1 unless $z == 4 is $z, 19 # ---------------------------------------------------------------------- my $k = 1 do: $k *= 2 $k += 1 # The module should be robust # to these comments after a do {} # no matter the leading whitespace while $k < 10 is $k, 15 # ---------------------------------------------------------------------- $k = 1 do: $k *= 2 $k += 1 # The module should be robust to these comments after a do {} even if # they contain something misleading like # while $k < 9; while $k < 0: pass is $k, 3 # ---------------------------------------------------------------------- $k = 1 do: $k *= 2 $k += 1 until $k > 10 is $k, 15 # ---------------------------------------------------------------------- $k = 1 do: $k += $_ $k *= 1 $k += 0 for 1..10 is $k, 56 # ---------------------------------------------------------------------- $k = 2 do: $k += $_ $k *= 1 $k += 0 foreach 1..10 is $k, 57 # ---------------------------------------------------------------------- do: $k = 1 $k += 2 if $k == 3: $k = 7 is $k, 7 # ---------------------------------------------------------------------- do: $k = 1 $k += 2 unless $k == 3: $k = 7 is $k, 3 # ---------------------------------------------------------------------- do: $k = 1 $k += 2 while $k--: pass is $k, -1 # ---------------------------------------------------------------------- do: $k = 1 $k += 2 until $k-- == 1: $k *= 1 is $k, 0