my $zip_to = "60446"; my $zip_from = "60187"; my $weight = 2.26"; my $package = Net::UPS::Package->new(); $package -> weight($weight); #dumped here my $services = $ups->shop_for_rates($zip_from, $zip_to, $package); while (my $service = shift @$services ) { $message .= sprintf("%-22s => \$.2f", $service->label, $service->total_charges); if ( my $days = $service->guaranteed_days ) { sprintf("(delivers in %d day%s)\n", $days, ($days > 1) ? "s" : ""); } else { "\n"; } } #### $VAR1 = '60446'; $VAR2 = '43214'; $VAR3 = bless( [ undef, undef, undef, undef, undef, undef, '2.26' ], 'Net::UPS::Package' ); #### sub shop_for_rates { my $self = shift; my ($from, $to, $packages, $args) = @_; unless ( $from && $to && $packages ) { croak "shop_for_rates(): usage error"; } unless ( ref $from ) { $from = Net::UPS::Address->new(postal_code=>$from); } unless ( ref $to ) { $to = Net::UPS::Address->new(postal_code=>$to); } unless ( ref $packages eq 'ARRAY' ) { $packages = [$packages]; } $args ||= {}; $args->{mode} = "shop"; $args->{service}||= "GROUND"; return [sort{$a->total_charges <=>$b->total_charges} @{$self->request_rate($from, $to, $packages, $args)}]; }