#!/usr/bin/perl use strict; use warnings; my ($fh,$href,$aref,$group,$array); open($fh,") { $aref = [split(/,/,$_)]; push(@{$$href{$$aref[0]}},$aref); } while ( ($group,$array) = each(%$href) ) { $aref = $$array[rand($#$array)]; print join(",",@$aref); }