#!/usr/bin/perl -w use CGI qw(:standard); use strict; $! = 1; print header; my $try = CGI->new(); my %hash; # tried 'my $hash = {};' too... foreach my $string ( $try->param ) { if ( $string =~ m/(\d+)_(\d+)/ ) { push @{$hash->{$1}->{$2}}, $try->param($string); } } print qq!

then you have:

$hash{12}{1} !;