http://www.perlmonks.org?node_id=274493


in reply to parse hash to sub

Fixed the code

%new_db = (1 , 'gedit-2.2.2-i386-1.tgz', 2 , 'ppp-3.4.1-i386-2.tgz'); new_packages($fcount,\%new_db); sub new_packages { my %packages =%{ $_[1]}; print "Found $_[0] packages for download: $_\n" if ($fcount > 1); print "Found $_[0] package for download: $_\n" if ($fcount == 1); print "Which one would you like to install?:\n"; foreach my $key (keys (%packages)) { print "$key) $packages{$key} \n" } }

Note that I changed your passing of the hash to passing of a reference to the hash and I de-reference it in the sub.

Otherwise it is just going to look like an array of scalars.


Peter L. BergholdBrewer of Belgian Ales
Peter@Berghold.Netwww.berghold.net
Unix Professional