Math::MultiplicationTable - Perl extension for generate multiplication table.


Math-MultiplicationTable documentation Contained in the Math-MultiplicationTable distribution.

Index


Code Index:

Generate 9 * 9 cells table as plain text.

Generate $size * $size size multiplication table as plain text.

NAME

Top

Math::MultiplicationTable - Perl extension for generate multiplication table.

SYNOPSIS

Top

	use Math::MultiplicationTable;
	print Math::MultiplicationTable::generate(9);

DESCRIPTION

Top

Math::MultiplicationTable is just generate multiplication table.

EXPORT

None.

SEE ALSO

Top

AUTHOR

Top

pmint, <pmint@mx13.freecom.ne.jp>

COPYRIGHT AND LICENSE

Top


Math-MultiplicationTable documentation Contained in the Math-MultiplicationTable distribution.
package Math::MultiplicationTable;

use 5.008008;
use strict;
use warnings;

require Exporter;

our @ISA = qw(Exporter);

# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use Math::MultiplicationTable ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(
);

our $VERSION = '0.01';

sub generate
{
	my $size = (defined $_[0]) ? $_[0] : 9;
	my $ret = '';
	return undef if ($size < 0);
	return $ret if ($size == 0);
	
	my $figure = int(log($size ** 2) / log(10)) + 2;
	foreach my $r (1 .. $size){
		foreach my $c (1 .. $size){
			$ret .= sprintf "%".$figure."d", $r * $c;
		}
		$ret .= "\n";
	}
	
	return $ret;
}

1;
__END__
# Below is stub documentation for your module. You'd better edit it!