#!/usr/bin/perl print join(";", qw(2015 jan feb mar apr may jun jul aug sep oct nov dec)); while(){ chomp; print ( s/^(\d+)\/\d+\s+// ? (";" x ($1-$c)).";$_" : ($c=0) || "\n$_" ) && ($c=$c?$1+1:1); } print "\n"; __DATA__ CUSTA 1/2015 100 10/2015 1,000 12/2015 1,000 CUSTB 02/2015 200 10/2015 1,000 12/2015 100