echo "Student Id Class John 23 2 Mark 33 3 Jerry 44 2 Sam 55 2 Tom 65 3 " | perl -ane '$F[2]=~/^\d+$/ or next;push @{$h[$F[2]]},$F[0]}{ $h[$_] && print qq|Class $_ = |,join(",",@{$h[$_]}),qq|\n| for 0..$#h' #### Class 2 = John,Jerry,Sam Class 3 = Mark,Tom