It is more than likely that you ought to use a hash *reference*, not a hash. In other words:
$hashTable = {}; $hashTable->{"first"} = 1; $hashTable->{"second"} = 2; return $hashTable; On Sun, Jan 17, 2010 at 9:16 PM, BlackMage <dsd7...@uncw.edu> wrote: > > I am having problem with a Java program that calls a Perl/CGI Script, creates > a hash and returns. A simple example looks like this: > > Perl Script: > > [code] > > sub createHash{ > > %hashTable = (); > > $hashTable{"first"} = 1; # inserts a new hash table entry with key="first" > and value=1 > $hashTable{"second"} = 2; # new entry with key="second" and value=2 > > return %hashTable; > > }#end createHash > > [/code] > > Java Program > > {code} > > public void getHash(){ > > HashMap hashmap=new HashMap(); > Vector params = new Vector(); > > //Create Variables > try { > XmlRpcClient xmlrpc = new XmlRpcClient(SERVER_URL); > > //Set Strings > String methodName = "MyProgram.createHash"; > > > > System.out.println(xmlrpc.execute( methodName, params)); > //The line below is commented out because it throws an error > //hashmap=(HashMap) xmlrpc.execute( methodName, params); > > > > } catch (MalformedURLException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (XmlRpcException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (IOException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > > > > > }//end class > > {code} > > > The problems are this, when, I System.out.print the return hash created in > Perl, is only prints out the last value. When I cast the return value to a > Java Hash, it throws a string execption. > > So how do I return a hash table or multiple values from a perl program? > -- > View this message in context: > http://old.nabble.com/XML-RPC-Return-Hash-Map-tp27202339p27202339.html > Sent from the Apache Xml-RPC - Dev mailing list archive at Nabble.com. > > -- Germanys national anthem is the most boring in the world - how telling!