C:\>perl -e "@d=(1,2,3,4); $c=$d[0]/$d[1]+$d[2]/$d[3]; $a=($d[0]*$d[3]+$d[2]*$d[1])/($d[1]*$d[3]); print \"$c $a\";" 1.25 1.25 C:\>
C:\>perl -e "@d=(1,2,3,4); @r=&d(@d); print $r[0]/$r[1]; sub d(){ $s=$_[0]*$_[3]+$_[2]*$_[1]; $i=$_[1]*$_[3]; return ($s,$i);}" 1.25 C:\>
C:\>perl -le "for(1..10){@r=&d(($_,$_+1,$_+1,$_+1)); print \"$r[0] $r[1]\";} sub d(){return $_[0]*$_[3]+$_[2]*$_[1],$_[1]*$_[3];}" 6 4 15 9 28 16 45 25 66 36 91 49 120 64 153 81 190 100 231 121 C:\>
C:\>perl -le "for(1..20){@d=($_++,$_++,$_++,$_++); @r=&d(@d); print \"@d @r\";} sub d{return $_[0]*$_[3]+$_[2]*$_[1],$_[1]*$_[3];}" 1 2 3 4 10 8 2 3 4 5 22 15 3 4 5 6 38 24 4 5 6 7 58 35 5 6 7 8 82 48 6 7 8 9 110 63 7 8 9 10 142 80 8 9 10 11 178 99 9 10 11 12 218 120 10 11 12 13 262 143 11 12 13 14 310 168 12 13 14 15 362 195 13 14 15 16 418 224 14 15 16 17 478 255 15 16 17 18 542 288 16 17 18 19 610 323 17 18 19 20 682 360 18 19 20 21 758 399 19 20 21 22 838 440 20 21 22 23 922 483 C:\>
下のようにやっても同じなんだな。
C:\>perl -le "for(1..20){@d=($_..$_+3);@r=&d(@d);print \"@d @r\";} sub d{return $_[0]*$_[3]+$_[2]*$_[1],$_[1]*$_[3];}"