use SOAP::Lite; die "gimme some currency codes" unless @ARGV == 2; my ($from,$to) = @ARGV; my $rate_str = SOAP::Lite ->proxy('http://www.itfinity.net:8080/soap/exrates/default.asp') ->endpoint('http://www.itfinity.net:8008/soap/exrates/default.asp') ->uri('http://www.itfinity.net/soap/exrates/exrates.xsd') ->GetRate( SOAP::Data->type('string')->name( fromCurr => $from ), SOAP::Data->type('string')->name( ToCurr => $to ), ) ->result; print "$rate_str\n";