sub print_owing{
my $self = shift;
my $e = $self->{_orders}->elements();
my $outstanding = 0.0;
# print banner
print "**************************\n";
print "***** Customer Owes ******\n";
print "**************************\n";
# calculate outstanding
while ( $e->has_more_elements() ){
my $each = $e->next_element();
$outstanding += $each->get_amount();
}
# print details
print 'name: ', $self->{_name}, "\n";
print "amount: $outstanding\n";
}
####
sub print_owing{
my $self = shift;
$self->print_banner();
my $outstanding = $self->get_outstanding();
$self->print_details( $outstanding );
}
sub print_banner{
my $self = shift;
# print banner
print "**************************\n";
print "***** Customer Owes ******\n";
print "**************************\n";
}
sub print_details{
my $self = shift;
my $outstanding = shift;
print 'name: ', $self->{_name}, "\n";
print "amount: $outstanding\n";
}
sub get_outstanding{
my $self = shift;
my $e = $self->{_orders}->elements();
my $result = 0.0;
# calculate outstanding
while ( $e->has_more_elements() ){
my $each = $e->next_element();
$result += $each->get_amount();
}
return $result;
}
####
perl -e 'split//,q{john hurl, pest caretaker}and(map{print @_[$_]}(join(q{},map{sprintf(qq{%010u},$_)}(2**2*307*4993,5*101*641*5261,7*59*79*36997,13*17*71*45131,3**2*67*89*167*181))=~/\d{2}/g));'