_debug
_pack_subfields_hash
+ to
search_display search display sorted
rec1 rec2 rec
=cut
-our $VERSION = '0.35';
+our $VERSION = '0.36';
=head1 SYNOPSIS
Those functions generally have to first in your normalization file.
+=head2 to
+
+Generic way to set values for some name
+
+ to('field-name', 'name-value' => rec('200','a') );
+
+There are many helpers defined below which might be easier to use.
+
+=cut
+
+sub to {
+ my $type = shift or confess "need type -- BUG?";
+ my $name = shift or confess "needs name as first argument";
+ my @o = grep { defined($_) && $_ ne '' } @_;
+ return unless (@o);
+ $out->{$name}->{$type} = \@o;
+}
+
=head2 search_display
Define output for L<search> and L<display> at the same time
search_display('Title', rec('200','a') );
-
=cut
sub search_display {
=head2 tag
-Old name for L<search_display>, but supported
+Old name for L<search_display>, it will probably be removed at one point.
=cut
=cut
-sub _field {
- my $type = shift or confess "need type -- BUG?";
- my $name = shift or confess "needs name as first argument";
- my @o = grep { defined($_) && $_ ne '' } @_;
- return unless (@o);
- $out->{$name}->{$type} = \@o;
-}
-
-sub display { _field( 'display', @_ ) }
+sub display { to( 'display', @_ ) }
=head2 search
=cut
-sub search { _field( 'search', @_ ) }
+sub search { to( 'search', @_ ) }
=head2 sorted
=cut
-sub sorted { _field( 'sorted', @_ ) }
-
+sub sorted { to( 'sorted', @_ ) }
=head1 Functions to extract data from input
} else {
$_->{$sf};
}
- } grep { ref($_) eq 'HASH' && $_->{$sf} } @{ $rec->{$f} };
+ } grep { ref($_) eq 'HASH' && defined $_->{$sf} } @{ $rec->{$f} };
}
=head2 rec