log

自然対数を取得する

構文

解説

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);
}