> $ perl -wle 'print 2**99' > 6.33825300114115e+29 > > $ ruby -wle 'print 2**99' > 633825300114114700748351602688 > > $ perl -wle 'print 9**9**5' > inf > > $ ruby -wle 'print 9**9**5' > 1163964896171447645003711273838351370118119528741870708047727598123267112930 > 6111037903049760060898121238296130301019497278726966272049388713194128225979 > 0233081290924196740856977261251272318881097024932788534895797954088979392032 > 7738428577367953596166126106831822401524421292985114258127612235972114773252 > 5778322807185432006841500874332599997098613753825177560964766837277637864923 > 8576839226487925173752881910807257686606441838099952474016813167775933784942 > and so on [1] > > Though even Ruby gives up after a while. > > $ ruby -wle 'print 9**9**9' > -e:1: warning: in a**b, b may be too big > Infinity > > > [1] Worth noting that Ruby gets this done in about 2.5 seconds while perl with > bigint takes 30. They're probably using gmp.