while () { chomp; ($account,$time,$dept,$dimset,$sched,$emp,$type,$val) = split(/[{]/); $emp = empnumber ($emp); push(@{$employee{$dept.$account.$emp.$subctr}},($account,$time,$dept,$dimset,$sched,$emp,$type,$val)); $subctr++; } close(DATAFILE1); foreach $empnum (sort keys(%employee)) { my ($account,$time,$dept,$dimset,$sched,$emp,$type,$val)= @{$employee{$empnum}}; string2 = $account."{".$time."{".$dept."{".$dimset."{"."SchHeadCnt"."{".$emp."{".$type."{".$val; write(OUTPUT2); } close(OUTPUT2); sub empnumber { my ($number) = @_; my $newnumber; if ($number < 10) {$newnumber = E00.$number} elsif ($number < 100) {$newnumber = E0.$number} else {$newnumber = E.$number} return $newnumber; }