sub add(){ ($_[0]+$_[1])=~?^e??return$&: (($,,$:)=reverse(sort(@_))); $,?1:($,='0');$:?1:($:='0'); for(;$:;(($^=~/(\d)(\d?)/)&& ($2ne''))?(($;=$1)&&($_.=$2) ):(($_.=$^)&&($;=0))){$:=~## /\d$/?($:,$-)=($`,$&):$-=0; $,=~/\d$/?($,,$=)=($`,$&):$= =0;$^=$=+$-+$;}$;?((($,=~?\d$? )?($;+=$&)&&($;.=reverse#$&=3 $`):0)?1:($_=reverse$_.$;# )):($a=reverse$_.reverse$,) } #### $a = '11838471545206609368'; $b = '28664024970105317669'; print add($a,$b);