#%memhash=@allprocesses; #won't work my %memhash = map{chomp; (split(' ',$_,3))[0,2]}@array; #note: $array[1], the "-" is thrown away print Dumper \%memhash; $VAR1 = { '488716' => 'disp+work.exe 4772 0', '119728' => 'SavService.exe 2336 0', '283332' => 'disp+work.exe 9620 0', '199288' => 'disp+work.exe 7760 0', '276124' => 'disp+work.exe 8948 0', '255120' => 'disp+work.exe 4548 0', '1830376' => 'sqlservr.exe 1812 0', '396548' => 'disp+work.exe 9980 0', '159176' => 'disp+work.exe 7292 0', '507316' => 'disp+work.exe 7852 0', '119540' => 'disp+work.exe 6376 0', '397132' => 'disp+work.exe 2872 0', '350060' => 'disp+work.exe 9712 0', '327372' => 'disp+work.exe 7892 0', '104272' => 'disp+work.exe 10208 0', '433064' => 'disp+work.exe 8712 0' };