| autobox-Numeric-Bytes documentation | Contained in the autobox-Numeric-Bytes distribution. |
autobox::Numeric::Bytes - ActiveSupport equivalent to Perl numeric variables
use autobox::Numeric::Bytes;
print 2->byte; # 2
print 2->kilobyte; # 2048
print 3->megabytes; # 3145728
print 2->exabyte; # 2305843009213693952
autobox::Numeric::Bytes is an autobox module to add Byte-related methods to core integer values by using constant overloading. Inspired by ActiveSupport (Rails) Core extensions to Numeric values.
HIROSE Masaaki, <hirose31@gmail.com>
Please report any bugs or feature requests to
bug-autobox-numeric-bytes@rt.cpan.org, or through the web interface at
http://rt.cpan.org. I will be notified, and then you'll automatically be
notified of progress on your bug as I make changes.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| autobox-Numeric-Bytes documentation | Contained in the autobox-Numeric-Bytes distribution. |
package autobox::Numeric::Bytes; use strict; use warnings; use Carp; use bigint; use base qw(autobox); our $VERSION = '0.02'; sub import { shift->SUPER::import(NUMBER => 'autobox::Numeric::Bytes::Impl', @_); } package # hide from pause autobox::Numeric::Bytes::Impl; sub bytes { return $_[0]; } *byte = \&bytes; sub kilobytes { return $_[0] * 1024; } *kilobyte = \&kilobytes; sub megabytes { return $_[0] * 1024 * 1024; } *megabyte = \&megabytes; sub gigabytes { return $_[0] * 1024 * 1024 * 1024; } *gigabyte = \&gigabytes; sub terabytes { return $_[0] * 1024 * 1024 * 1024 * 1024; } *terabyte = \&terabytes; sub petabytes { return $_[0] * 1024 * 1024 * 1024 * 1024 * 1024; } *petabyte = \&petabytes; sub exabytes { return $_[0] * 1024 * 1024 * 1024 * 1024 * 1024 * 1024; } *exabyte = \&exabytes; 1; __END__