use warnings; use SOAP::Lite; use LWP::Simple; my $soap = SOAP::Lite->service('http://apniurdu.com/SOAP/Urdu2.wsdl'); my $data = SOAP::Data->value ( 'Urdu is a great language' )-> type( 'string' ); my $dict = $soap -> GetWords (''); my $text = $soap -> Translate ( $data ); my $urdu = $soap -> GetMapping ( $text ); my $utf8 = $soap -> GetUnicode ( $urdu ); $utf8 = &encode ($utf8); print $utf8; my $url = 'http://127.0.0.1:13003/cgi-bin/sendsms?username=test&password=test&from=UrduSMS&coding=2&charset=utf-8&to=00923008636664&text='. $utf8 ; my $html = getprint ($url); # ok shoot to kannel to send sms # Encode a string into urlencoded format sub encode { local($instring) = @_; # Replace all Non-Numerics with HEX Sequence $instring =~s/[\x00-\x1F\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\xFF]/&hexCodeFromChar($&)/eg; # Replace all spaces with Plus Character $instring =~ s/ /+/g; return($instring); } # Decode a string from urlencoded format sub decode { local($instring) = @_; # Replace all PLUS characters with Spaces $instring =~ tr/+/ /; # Replace Hex Codes with real characters $instring =~ s/%(..)/pack("C",hex($1))/eg; return($instring); } # Function used by both sub hexCodeFromChar { my ($char) = @_; my $asc = ord($char); return(sprintf("%c%02X", 37, $asc)); }