#returns the sum of two numbers...woohooo! yeah! hurrah! go go go! sub add($$) { my ($Val1, $Val2) = @_; my ($Result, $Tmp, $In_Mente); (length($Val1) < length($Val2)) ? ($Val1, $Val2)=($Val2, $Val1):0; while (length($Val2) || length($Val1)) { $Tmp = substr($Val1,-1,1) + substr($Val2, -1, 1) + $In_Mente; if ($Tmp > 9) { $In_Mente = 1; $Tmp -= 10;} else { $In_Mente = ''; } $Result = $Tmp . $Result; substr($Val1, -1, 1) = undef; substr($Val2, -1, 1) = undef; my $FResult = $Result; last if ($In_Mente == 0 && !length($Val2)); } $Result = $Val1 . $Result; return $Result; } print add( '758347583475824708465850936890539684658943757345975984752849365497545795960625230652406542096545654396529602555796453760493262845932848528465284698946983489698348968953896085976085938896556980853272085924509275205062523065240654209654565439652960255579645376049326284593284852846528469894698348969834896895389608597608593889655698085327208592450927520545497858944986599457743276035860935689348693496896892469284698938496893248683563969350683680363509090349639065903596953', '2857258942755768493275089742896538476835793467534772015326350625230652406542096545654396529602555796453760493262845932848528465284698946983489698348968953896085976085938896556980853272085924509275205062523065240654209654565439652960255579645376049326284593284852846528469894698348969834896895389608597608593889655698085327208592450927520597265094270' );