{ package RecMy ;
use strict ;
sub rec {
my $n = shift ;
return if !$n ;
rec( --$n ) ;
my $local = "[$n] set" if ($n/3) !~ /\./ ;
$local .= ' append' ;
print "<$n> $local\n" ;
}
for(1..5) {
print "--------------------- $_\n" ;
rec(4);
}
}
####
--------------------- 1
<0> [0] set append
<1> append
<2> append
<3> [3] set append
--------------------- 2
<0> [0] set append
<1> append append
<2> append append
<3> [3] set append
--------------------- 3
<0> [0] set append
<1> append append append
<2> append append append
<3> [3] set append
--------------------- 4
<0> [0] set append
<1> append append append append
<2> append append append append
<3> [3] set append
--------------------- 5
<0> [0] set append
<1> append append append append append
<2> append append append append append
<3> [3] set append
####
--------------------- 1
<0> [0] set append
<1> append
<2> append
<3> [3] set append
--------------------- 2
<0> [0] set append
<1> append
<2> append
<3> [3] set append
--------------------- 3
<0> [0] set append
<1> append
<2> append
<3> [3] set append
--------------------- 4
<0> [0] set append
<1> append
<2> append
<3> [3] set append
--------------------- 5
<0> [0] set append
<1> append
<2> append
<3> [3] set append
####
## changed from (bugged):
my $local = "[$n] set" if ($n/3) !~ /\./ ;
## to (fine):
my $local ;
$local = "[$n] set" if ($n/3) !~ /\./ ;
####
... if ($n/3) !~ /\./ ;