sub f1{ print 'f1'} sub f2{ print 'f2' } sub f{ goto &{$_[0]} };; f('f1');; f1 f('f2');; f2 f('f');; ### Warning infinite loop!