Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/

In the Perl programming language has a built-in function `log()`

.

`log()`

in Perl
In the Perl programming language has a built-in function `log()`

.

Function `log()`

returns the natural logarithm of the specified number.

Here's an example:

▶ Run

```
#!/usr/bin/perl
print log(10);
```

The program will display `2.30258509299405`

.

If the function `log()`

not given no arguments, the function works with default variable `$_`

:

▶ Run

```
#!/usr/bin/perl
$_ = 3;
print log(); # 1.09861228866811
```

Standard using `log()`

is to pass it a single argument.

If the transfer function `log()`

more than one argument, it will be an error and code execution will be stopped.

```
Too many arguments for log at script.pl line 3, near "2)"
Execution of script.pl aborted due to compilation errors.
```

When you try to calculate the natural logarithm of zero is an error:

▶ Run

```
#!/usr/bin/perl
log(0);
```

```
Can't take log of 0 at script.pl line 3.
```

Function `log()`

always returns a number.

Function `log()`

returns the natural logarithm, i.e. logarithm base `e`

.
If you want to calculate the logarithm to another base, then you can write
function:

▶ Run

```
#!/usr/bin/perl
use strict;
use warnings;
use feature qw(say);
sub log_base {
my ($base, $n) = @_;
return log($n)/log($base);
};
say log_base(2, 4); # 2
say log_base(2, 256); # 8
say log_base(10, 1000); # 3
```

Here is the output of the command `perldoc -f log`

:

```
log EXPR
log Returns the natural logarithm (base *e*) of EXPR. If EXPR is
omitted, returns the log of $_. To get the log of another base,
use basic algebra: The base-N log of a number is equal to the
natural log of that number divided by the natural log of N. For
example:
sub log10 {
my $n = shift;
return log($n)/log(10);
}
See also "exp" for the inverse operation.
```