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(<KOF>)
{
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;
my $Za=1; #####Added
foreach my $e (@sorted) {
print NYF ($e->{'UID'}, "|", $e->{'FNA'}, "|", $e->{'ENA'}, "|", $
+e->{'PRE'}, "|", $e->{'NYTT'}, "|", $e->{"PRI$Za"}, "|", $e->{"FOR$Za
+"}, "|", $e->{"CMG$Za"}, "|", $e->{"MEX$Za"}, "\n") if( $e->{"UID"} n
+e "" || $e->{"FNA"} ne "" || $e->{"ENA"} ne "");
$pers++ if ($e->{"UID"} ne "");
$Za++; #####Added
}
close KOF;
close NYF;
but I only get result on first line with all others empty ? Like this:
||Exp-pri|(0117)|23400|Nej|Nej|Ja|Ja|Nej
FRLARS|Fredrik|Larsson|(0117)|23403||||| ####Empty
ANJA08|Anja|Daun|(0117)|23404||||| ####Empty
What could go wrong ? It only interpolates variable PRI and adds a number ? |