starview
asked on
I am looking for a perl shipping formula
I have the following perl formula and I would like to find a way to change the Home_Accessories part only where it will calculate the shipping charges by using a 25% of the subtotal.
sub custom4
{
local ($shipMethod, $subtotal, $weight, $total_shipping,
$category_count) = @_; local ($shipping_price);
if ($category_count{'Home_Accessories!'} eq "1") {
if ($subtotal <= 100.00) { $shipping_price = 0.00; }
elsif ($subtotal >= 101.00 && $subtotal <= 250.00) { $shipping_price
= 0.00; }
elsif ($subtotal >= 250.00 && $subtotal <= 1500.00) { $shipping_price
= 0.00; }
# All orders over the previous value
else { $shipping_price = 0.00; }
} else {
if ($category_count{'Cookware!'} eq "1") {
if ($subtotal <= 100.00) { $shipping_price = 0.00; }
elsif ($subtotal >= 101.00 && $subtotal <= 250.00) { $shipping_price
= 0.00; }
elsif ($subtotal >= 250.00 && $subtotal <= 1500.00) { $shipping_price
= 0.00; }
# All orders over the previous value
else { $shipping_price = 0.00; }
} else {
if ($category_count{'Clocks!'} eq "1") {
if ($subtotal <= 100.00) { $shipping_price = 0.00; }
elsif ($subtotal >= 101.00 && $subtotal <= 250.00) { $shipping_price
= 0.00; }
elsif ($subtotal >= 250.00 && $subtotal <= 1500.00) { $shipping_price
= 0.00; }
# All orders over the previous value
else { $shipping_price = 0.00; }
} else {
if ($category_count{'Western_Accessories!'} eq "1") {
if ($subtotal <= 29.99) { $shipping_price = 8.50; }
elsif ($subtotal >= 30.00 && $subtotal <= 39.99) { $shipping_price =
11.50; }
elsif ($subtotal >= 40.00 && $subtotal <= 49.99) { $shipping_price =
12.00; }
elsif ($subtotal >= 50.00 && $subtotal <= 59.99) { $shipping_price =
13.50; }
elsif ($subtotal >= 60.00 && $subtotal <= 69.99) { $shipping_price =
15.00; }
elsif ($subtotal >= 70.00 && $subtotal <= 79.99) { $shipping_price =
19.00; }
elsif ($subtotal >= 80.00 && $subtotal <= 89.99) { $shipping_price =
23.00; }
elsif ($subtotal >= 90.00 && $subtotal <= 99.99) { $shipping_price =
27.00; }
elsif ($subtotal >= 100.00 && $subtotal <= 119.99) {
$shipping_price = 31.00; }
elsif ($subtotal >= 120.00 && $subtotal <= 129.99) {
$shipping_price = 35.00; }
elsif ($subtotal >= 130.00 && $subtotal <= 139.99) {
$shipping_price = 39.00; }
elsif ($subtotal >= 140.00 && $subtotal <= 149.99) {
$shipping_price = 43.00; }
elsif ($subtotal >= 150.00 && $subtotal <= 159.99) {
$shipping_price = 47.00; }
elsif ($subtotal >= 160.00 && $subtotal <= 169.99) {
$shipping_price = 52.00; }
# All orders over the previous value
else { $shipping_price = 0.00; }
} else {
if ($subtotal <= 29.99) { $shipping_price = 8.50; }
elsif ($subtotal >= 30.00 && $subtotal <= 39.99) { $shipping_price =
11.50; }
elsif ($subtotal >= 40.00 && $subtotal <= 49.99) { $shipping_price =
12.00; }
elsif ($subtotal >= 50.00 && $subtotal <= 59.99) { $shipping_price =
13.50; }
elsif ($subtotal >= 60.00 && $subtotal <= 69.99) { $shipping_price =
15.00; }
elsif ($subtotal >= 70.00 && $subtotal <= 79.99) { $shipping_price =
19.00; }
elsif ($subtotal >= 80.00 && $subtotal <= 89.99) { $shipping_price =
23.00; }
elsif ($subtotal >= 90.00 && $subtotal <= 99.99) { $shipping_price =
27.00; }
elsif ($subtotal >= 100.00 && $subtotal <= 119.99) {
$shipping_price = 31.00; }
elsif ($subtotal >= 120.00 && $subtotal <= 129.99) {
$shipping_price = 35.00; }
elsif ($subtotal >= 130.00 && $subtotal <= 139.99) {
$shipping_price = 39.00; }
elsif ($subtotal >= 140.00 && $subtotal <= 149.99) {
$shipping_price = 43.00; }
elsif ($subtotal >= 150.00 && $subtotal <= 159.99) {
$shipping_price = 47.00; }
elsif ($subtotal >= 160.00 && $subtotal <= 169.99) {
$shipping_price = 52.00; }
# All orders over the previous value
else { $shipping_price = 0.00; }
}
return ($shipping_price);
}}
}
}
1;
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you
ASKER
and no use the:
if ($subtotal <= 100.00) { $shipping_price = 0.00; }
elsif ($subtotal >= 101.00 && $subtotal <= 250.00) { $shipping_price = $subtotal * 0.25; }
elsif ($subtotal >= 250.00 && $subtotal <= 1500.00) { $shipping_price = $subtotal * 0.25; }