undef my %db_processes; my $pp1; my $dbh; my $SEV1; my $app; my $GRP3; my $STAT1; my $pp0; my @dummyrow; my $qry; my $sth; $dbh = DBI->connect("dbi:ODBC:$dsn_name", "$dsn_user", "$dsn_pwd") or quittext_opc ("Failed to connect to database $dsn_name\n", $app, $SEV1, $GRP3, "5051", $STAT1); $qry = "select sid,'|',serial#,'|',status,'|',process,'|',username,'|' from v\$session;"; $sth = $dbh->prepare($qry); $sth->execute(); while ( @dummyrow = $sth->fetchrow_array ) { ($pp0,$pp1) = split /:/,$dummyrow[6]; chomp $pp1; print "the pp0 value is: $pp0 and the pp1 value is: $pp1\n"; print "$dummyrow[0] $dummyrow[2] $dummyrow[4] $dummyrow[6] $dummyrow[8]\n"; $db_processes{$pp1} = {SID => $dummyrow[0], SERIAL => $dummyrow[2], STATUS => $dummyrow[4], PROCESS => $dummyrow[6], USERNAME => $dummyrow[8], }; } $dbh->disconnect(); while (my($key, $hashy) = each %db_processes) { print "hashy is: $hashy->{key}\n"; }