#!/usr/bin/env perl -l use strict; use warnings; my %data; while () { chomp; my ($key, $value) = split /\s*,\s*/; push @{$data{$key}}, $value; } for my $key (keys %data) { print "|$key|$_|" for @{$data{$key}}; } __DATA__ 60,811 50, 813 34 , 820 32,821 34 ,820 32 , 821