use strict; use warnings; use Test::More tests => 11; my $min = 1; my $price = 10; sub total { my $wt = $_[0]; my $Total = ($wt < -$min) ? $price * $wt : ($wt < 0 ) ? $price * (-$min) : ($wt < $min ) ? $price * $min : $price * $wt ; return $Total; } sub refrence { my $wt = $_[0]; my $nwt = abs($wt); $nwt = $min if $nwt<$min; my $total = $nwt*$price; $total = -$total if $wt<0; return $total; } for (0..10) { my $trial_wt = .3 * ($_ -5); is( total($trial_wt), refrence($trial_wt), "Weight: $trial_wt"); }