[Note to tt list: this is from a discussion on the modperl list...]
[andy, can you put this in the example section, or maybe add it
to the .t samples for recursion testing? :]
>>>>> "Andy" == Andy Wardley <[EMAIL PROTECTED]> writes:
Andy> Indeed. And TT was designed to be general purpose enough to solve
Andy> the Towers of Hanoi. I personally don't use it like that when I'm
Andy> building web sites, preferring to adopt a much more rigorous coding
Andy> standard, but there are also plenty of times when I do for small hacks.
$ tpage
[%
BLOCK move_disk; # disk_number from_peg to_peg other_peg
IF disk_number > 1;
INCLUDE move_disk
disk_number = (disk_number - 1)
to_peg = other_peg
other_peg = to_peg;
END;
"move disk "; disk_number; " from peg "; from_peg; " to peg "; to_peg; "\n";
IF disk_number > 1;
INCLUDE move_disk
disk_number = (disk_number - 1)
from_peg = other_peg
other_peg = from_peg;
END;
END;
-%]
[% INCLUDE move_disk
disk_number = 5
from_peg = "A"
to_peg = "C"
other_peg = "B"
-%]
^D
move disk 1 from peg A to peg C
move disk 2 from peg A to peg B
move disk 1 from peg C to peg B
move disk 3 from peg A to peg C
move disk 1 from peg B to peg A
move disk 2 from peg B to peg C
move disk 1 from peg A to peg C
move disk 4 from peg A to peg B
move disk 1 from peg C to peg B
move disk 2 from peg C to peg A
move disk 1 from peg B to peg A
move disk 3 from peg C to peg B
move disk 1 from peg A to peg C
move disk 2 from peg A to peg B
move disk 1 from peg C to peg B
move disk 5 from peg A to peg C
move disk 1 from peg B to peg A
move disk 2 from peg B to peg C
move disk 1 from peg A to peg C
move disk 3 from peg B to peg A
move disk 1 from peg C to peg B
move disk 2 from peg C to peg A
move disk 1 from peg B to peg A
move disk 4 from peg B to peg C
move disk 1 from peg A to peg C
move disk 2 from peg A to peg B
move disk 1 from peg C to peg B
move disk 3 from peg A to peg C
move disk 1 from peg B to peg A
move disk 2 from peg B to peg C
move disk 1 from peg A to peg C
$
:-)
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!