sub a{if(my$l=pop){a(@_[0,2,1],$l-1);print"Move disc $l from $_[0] to $_[2] ";a(@_[1,0,2],$l-1);}}a 'A'..'C',pop; #### 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',pop; #### sub a{if(my$l=pop){a(@_[0,2,1],--$l);print"Move disc $l from $_[0] to $_[2] ";a(@_[1,0,2],$l);}}a 'A'..'C',pop;