Perl code for DivideFraction Module File
package DIVIDEFRACTION;
BEGIN {
require Exporter;
our $VERSION = 2016.12;
our @EXPORT_OK = qw(doDivide);
}
use warnings;
use strict;
use parent "MULTIPLYFRACTION";
my (@numerators, @denominators);
my %fractions;
sub new {
no warnings "all";
my $this = shift;
my $parameters = shift;
bless $parameters, $this;
$this->_init($parameters);
return $this;
}
sub _init {
my $self = shift;
my $aux = shift;
$fractions{numerators} = $aux->{numerators};
$fractions{denominators} = $aux->{denominators};
@numerators = @{$fractions{numerators}};
@denominators = @{$fractions{denominators}};
}
sub doDivide {
my $temp;
for (1 .. $
$temp = $numerators[$_];
$numerators[$_] = $denominators[$_];
$denominators[$_] = $temp;
}
%fractions = (
numerators => \@numerators,
denominators => \@denominators
);
my $call = MULTIPLYFRACTION->new(\%fractions);
return $call->doMultiply();
}
1;
Main Class
use strict;
use warnings;
use DIVIDEFRACTION;
my (@numerators, @denominators);
my (%fraction, %fractions);
@numerators = (16, 9, 640, 7);
@denominators = (9, 20, 27, 20);
%fractions = (
numerators => \@numerators,
denominators => \@denominators
);
print "\n Solving:\n";
printf("%13u", $_) for @numerators;
printf("\n%11s", " ");
print "- / " for 1 .. $
printf("%2s\n", "-");
printf("%13u", $_) for @denominators;
print "\n";
my $div_fract = DIVIDEFRACTION->new(\%fractions);
%fraction = %{$div_fract->doDivide()};
printf("\n%25u\n", $fraction{numerator});
printf("%25s\n", "Answer = -");
printf("%25u\n", $fraction{denominator});
print "\n\n";