use strict; use warnings; use 5.010; my @arr = (1, 2, 4); for (@arr) { print "$_: "; when (1) {print "1"; break} when ($_ % 2 == 0) {print "divisible by 2"; break} when ($_ % 4 == 0) {print ", divisible by 4"; break} say "\n------end this iteration"; } --output:-- Can't "break" in a loop topicalizer at 1perl.pl line 10. 1: 1