replace for my $date (@dates_copy) { print "$PID|$SID|",shift(@flds),"|$date\n"; } with for my $date (@dates_copy) { my $field = shift(@flds); $field = '' unless ( $field ); print "$PID|$SID|",$field,"|$date\n"; }