UID= UID=FRLARS UID=ANJA08 FNA= FNA=Fredrik FNA=Anja ENA=Exp-pri ENA=Larsson ENA=Daun PRE=(0117) PRE=(0117) PRE=(0117) NYTT=23400 NYTT=23403 NYTT=23404 PRI1=Nej FOR1=Nej DOL1=Nej CMG1=Ja MEX1=Nej PRI2=Nej FOR2=Nej DOL2=Nej CMG2=Ja MEX2=Nej PRI3=Nej FOR3=Nej DOL3=Nej CMG3=Ja MEX3=Nej #### my @entries; my $previouskey = ""; open (KOF, "<$konfil") or die "Kan inte \xF6ppna filen $konfil"; open (NYF, ">$nyfil") or die "Kan inte \xF6ppna filen $nyfil"; flock (NYF,2) or die $!; my $offset = 0; while() { chomp; $value =~ s/^\s*(\S*)\s+$/$1/; unless ($key eq $previouskey || $previouskey eq "") { $offset = 0; } $previouskey = $key; $entries[$offset]{$key} = $value; $offset++; } my @sorted = sort { $a->{'NYTT'} <=> $b->{'NYTT'} } @entries; my $pers =0; foreach my $e (@sorted) { print NYF ($e->{'UID'}, "|", $e->{'FNA'}, "|", $e->{'ENA'}, "|", $e->{'PRE'}, "|", $e->{'NYTT'}, "\n") if( $e->{"UID"} ne "" || $e->{"FNA"} ne "" || $e->{"ENA"} ne ""); $pers++ if ($e->{"UID"} ne ""); } close KOF; close NYF;