http://qs1969.pair.com?node_id=359553

Tower of Hanoi. Goal: least number of chars possible while preserving the whole line being printed.
#!/usr/bin/perl sub a{my$l=pop;a(@_[0,2,1],--$l)."Move disc $l from $_[0] to $_[2] ".a(@_[1,0,2],$l)if$l>0;}print a('A'..'C',shift);