---
name: "Format::Human::Bytes"
section: "3pm"
platform: "linux"
package: "libformat-human-bytes-perl"
version: "0.06-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Format::Human::Bytes"
---

# Format::Human::Bytes(3pm)

Format a bytecount and make it human readable

## NAME

Format::Human::Bytes - Format a bytecount and make it human readable

## VERSION

Version 0.06

## SYNOPSIS

Ever showed 12345678 bytes to the user instead of just saying 11MB? This module returns you a printable string which is more readable by humans than a simple bytecount.

```
    use Format::Human::Bytes;
    $readable = Format::Human::Bytes::base2($bytecount[,$decimals]);
    $readable = Format::Human::Bytes::base10($bytecount[,$decimals]);
    $readable = Format::Human::Bytes->base2($bytecount[,$decimals]);
    $readable = Format::Human::Bytes->base10($bytecount[,$decimals]);
    my $fhb = Format::Human::Bytes->new();
    $readable = $fhb->base2($bytecount[,$decimals]);
    $readable = $fhb->base10($bytecount[,$decimals]);
```

All functions do "intelligent" switching to the next unit, for example:

```
    1000 => 1000B
    [...]
    8000 => 8000B
    9000 => 9kB
```

The difference between 1000 bytes and 1500 bytes is usually bigger (for example because of a slow link) than between 95kB and 95,5kB. The same applies to 8000kB vs. 9 MB and for the other units.

Depending on your usage, you may want to specify how many decimals should be shown (defaults to no decimals).

## FUNCTIONS / METHODS

### new

```
    my $fhb = Format::Human::Bytes->new();
```

Creates and returns a Format::Human::Bytes - object.

### base2

Callable as a function:

```
    $readable = Format::Human::Bytes::base2($bytecount[,$decimals]);
```

Callable as a class method:

```
    $readable = Format::Human::Bytes->base2($bytecount[,$decimals]);
```

Callable as a object method:

```
    $readable = $fhb->base2($bytecount[,$decimals]);
```

Returns the correct readable form of the given bytecount.

Correct in this case means that 1kB are 1024 Bytes which is how computers see the world.

If you specify a decimal parameter, the result number will have the number of decimal numbers you specified.

### base10

Callable as a function:

```
    $readable = Format::Human::Bytes::base10($bytecount[,$decimals]);
```

Callable as a class method:

```
    $readable = Format::Human::Bytes->base10($bytecount[,$decimals]);
```

Callable as a object method:

```
    $readable = $fhb->base10($bytecount[,$decimals]);
```

Returns the incorrect readable form of the given bytecount.

Incorrect in this case means that 1kB is 1000 Bytes and 1 MB is 1000000 bytes which is how some (many) people see the world, but it's wrong for computers.

If you specify a decimal parameter, the result number will have the number of decimal numbers you specified.

## AUTHOR

Sebastian Willing, `"<sewi at cpan.org>"`

## BUGS

Please report any bugs or feature requests to `"bug-format-human-bytes at rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Format-Human-Bytes\>.  I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## SUPPORT

You can find documentation for this module with the perldoc command.

```
    perldoc Format::Human::Bytes
```

You can also look for information at:

- •

  RT: CPAN's request tracker

  \<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Format-Human-Bytes\>

- •

  AnnoCPAN: Annotated CPAN documentation

  \<http://annocpan.org/dist/Format-Human-Bytes\>

- •

  CPAN Ratings

  \<http://cpanratings.perl.org/d/Format-Human-Bytes\>

- •

  Search CPAN

  \<http://search.cpan.org/dist/Format-Human-Bytes/\>

## HISTORY

The functions are in use since late 2003 or early 2004 but I didn't pack them for CPAN before 2009.

## LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.
