in reply to How many loops are there in Perl?

$i = 10;L: print "Hello"; goto L if --$_i; map {print "Hello"} 1 .. 10; grep {print "Hello"} 1 .. 10; $_ = "abcdefghij"; s/./@{[print "Hello"]}/g; sub foo { print "Hello"; foo($_[0]-1) if $_[0] > 0; } foo(10);

Replies are listed 'Best First'.
Re^2: How many loops are there in Perl?
by tobyink (Canon) on Jan 31, 2012 at 08:23 UTC

    In the spirit of your map and grep examples, here's one using sort...

    perl -E'join("|", sort {do{say "Inside sort loop"} and $a <=> $b} 3,1, +2)'

    Works in 5.10.1, but the Perl sorting algorithm has been known to change from version to version. Note that the join does seem to be needed to avoid Perl optimizing away the sort.