38 |
|
|
39 |
sub get_sf { |
sub get_sf { |
40 |
my ($found,$data,$f,$sf,$i) = @_; |
my ($found,$data,$f,$sf,$i) = @_; |
41 |
if ($$data->{$f}->[$i]->{$sf}) { |
if ($$data->{$f} && $$data->{$f}->[$i]->{$sf}) { |
42 |
$$found++; |
$$found++; |
43 |
return $$data->{$f}->[$i]->{$sf}; |
return $$data->{$f}->[$i]->{$sf}; |
44 |
} else { |
} else { |
48 |
|
|
49 |
sub get_nosf { |
sub get_nosf { |
50 |
my ($found,$data,$f,$i) = @_; |
my ($found,$data,$f,$i) = @_; |
51 |
if ($$data->{$f}->[$i]) { |
if ($$data->{$f} && $$data->{$f}->[$i]) { |
52 |
$$found++; |
$$found++; |
53 |
return $$data->{$f}->[$i]; |
return $$data->{$f}->[$i]; |
54 |
} else { |
} else { |
71 |
for (my $mfn = 1; $mfn <= $maxmfn; $mfn++) { |
for (my $mfn = 1; $mfn <= $maxmfn; $mfn++) { |
72 |
|
|
73 |
my $row = OpenIsis::read( $db, $mfn ); |
my $row = OpenIsis::read( $db, $mfn ); |
|
print Dumper($row); |
|
74 |
foreach my $k (keys %{$row}) { |
foreach my $k (keys %{$row}) { |
75 |
if ($k ne "mfn") { |
if ($k ne "mfn") { |
76 |
foreach my $l (@{$row->{$k}}) { |
foreach my $l (@{$row->{$k}}) { |
|
next if (! $l); |
|
77 |
$l = $cp->convert($l); |
$l = $cp->convert($l); |
78 |
# has subfields? |
# has subfields? |
79 |
my $val; |
my $val; |
86 |
$val = $l; |
$val = $l; |
87 |
} |
} |
88 |
|
|
89 |
push @{$data->{$mfn}->{$k}}, $val if ($val && $val ne ""); |
push @{$data->{$mfn}->{$k}}, $val; |
90 |
} |
} |
91 |
} |
} |
92 |
|
|
93 |
} |
} |
94 |
|
|
95 |
|
|
96 |
foreach my $i (@lookup) { |
foreach my $i (@lookup) { |
97 |
|
my $d = $data->{$mfn}; |
98 |
if ($i->{'eval'}) { |
if ($i->{'eval'}) { |
99 |
my $eval = fill_in($i->{'eval'},$data->{$mfn}); |
my $eval = fill_in($i->{'eval'},$d); |
100 |
my $key = fill_in($i->{'key'}, $data->{$mfn}); |
my $key = fill_in($i->{'key'}, $d); |
101 |
my $val = fill_in($i->{'val'}, $data->{$mfn}); |
my $val = fill_in($i->{'val'}, $d); |
102 |
if ($key && $val && eval $eval) { |
if ($key && $val && eval $eval) { |
103 |
push @{$data->{lookup}->{$key}}, $val; |
push @{$data->{lookup}->{$key}}, $val; |
104 |
} |
} |
105 |
} else { |
} else { |
106 |
my $key = fill_in($i->{'key'}, $data->{$mfn}); |
my $key = fill_in($i->{'key'}, $d); |
107 |
my $val = fill_in($i->{'val'}, $data->{$mfn}); |
my $val = fill_in($i->{'val'}, $d); |
108 |
if ($key && $val) { |
if ($key && $val) { |
109 |
push @{$data->{lookup}->{$key}}, $val; |
push @{$data->{lookup}->{$key}}, $val; |
110 |
} |
} |