自然対数を取得する
log
は引数 EXPR の自然対数を返します。
引数が省略されたら、$_ が適用されます。
print log 0.5; # -0.693147180559945
print log 1; # 0
print log 2; # 0.693147180559945
log
は底がネイピア数 e (≈ 2.718281828459) で固定です。
Perl には底を指定して対数を得る関数はありません。
そのため、もし底を指定して対数を計算したい場合は、自身で変換してください。
たとえば、底が 10 の対数を求めたいなら、次のような関数を作ると良いでしょう。
print log10(0.5); # -0.301029995663981
print log10(1); # 0
print log10(2); # 0.301029995663981
sub log10 {
my $n = shift;
return log($n) / log(10);
}