Skip to content

dugword/Number-Bytes-Human

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

Number::Bytes::Human - Converts byte count into an easy to read format.

SYNOPSIS

# Functional interface
use Number::Bytes::Human :functions;
my $size = format-bytes 1024; # '1K'

my $bytes = parse-bytes '1.0K'; # 1024

exit;

# OO Interface
my Number::Bytes::Human;
my $human = Number::Bytes::Human.new;

my $size = $human.format(1024); # '1K'
my $bytes = $human.parse('1.0K'); # 1024

DESCRIPTION

This is the Perl6 re-write of CPAN's Number::Bytes::Human. Special thanks to the original author: Adriano R. Ferreira, ferreira@cpan.org

NOTE: This module is version 0.0.X and is subject to significant changes in the API with no notice.

The Number::Bytes::Human Perl6 module converts large numbers of bytes into a more human friendly format, e.g. '15G'. The functionality of this module will be similar to the -h switch on Unix commands like ls, du, and df.

Currently the module rounds to the nearest whole unit, this behavior will likely change in the future.

From the FreeBSD man page of df: http://www.freebsd.org/cgi/man.cgi?query=df

"Human-readable" output.  Use unit suffixes: Byte, Kilobyte,
Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the
number of digits to four or fewer using base 2 for sizes.

byte      B
kilobyte  K = 2**10 B = 1024 B
megabyte  M = 2**20 B = 1024 * 1024 B
gigabyte  G = 2**30 B = 1024 * 1024 * 1024 B
terabyte  T = 2**40 B = 1024 * 1024 * 1024 * 1024 B

petabyte  P = 2**50 B = 1024 * 1024 * 1024 * 1024 * 1024 B
exabyte   E = 2**60 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
zettabyte Z = 2**70 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
yottabyte Y = 2**80 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B

About

A Perl6 module for converting large numbers in bytes to kb, mb, gb, and so on.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Other 100.0%