--- trunk/lib/WebPAC/Normalize.pm 2007/04/02 17:20:01 815 +++ trunk/lib/WebPAC/Normalize.pm 2007/05/23 20:03:14 831 @@ -42,11 +42,11 @@ =head1 VERSION -Version 0.28 +Version 0.29 =cut -our $VERSION = '0.28'; +our $VERSION = '0.29'; =head1 SYNOPSIS @@ -542,10 +542,10 @@ my $old = $_->[1]; if (length($old) < $pos) { $_->[1] .= ' ' x ( $pos - length($old) ) . $val; - warn "## marc_fixed($f,$pos,'$val') append '$old' -> '$_->[1]'\n"; + warn "## marc_fixed($f,$pos,'$val') append '$old' -> '$_->[1]'\n" if ($debug > 1); } else { $_->[1] = substr($old, 0, $pos) . $val . substr($old, $pos + length($val)); - warn "## marc_fixed($f,$pos,'$val') update '$old' -> '$_->[1]'\n"; + warn "## marc_fixed($f,$pos,'$val') update '$old' -> '$_->[1]'\n" if ($debug > 1); } $update++; } @@ -554,7 +554,7 @@ if (! $update) { my $v = ' ' x $pos . $val; push @{ $marc_record->[ $marc_record_offset ] }, [ $f, $v ]; - warn "## marc_fixed($f,$pos,'val') created '$v'\n"; + warn "## marc_fixed($f,$pos,'val') created '$v'\n" if ($debug > 1); } } @@ -872,6 +872,9 @@ my ($h,$include_subfields) = @_; + # sanity and ease of use + return $h if (ref($h) ne 'HASH'); + if ( defined($h->{subfields}) ) { my $sfs = delete $h->{subfields} || die "no subfields?"; my @out; @@ -1021,7 +1024,8 @@ =cut sub prefix { - my $p = shift or return; + my $p = shift; + return @_ unless defined( $p ); return map { $p . $_ } grep { defined($_) } @_; } @@ -1034,7 +1038,8 @@ =cut sub suffix { - my $s = shift or die "suffix needs string as first argument"; + my $s = shift; + return @_ unless defined( $s ); return map { $_ . $s } grep { defined($_) } @_; } @@ -1047,8 +1052,10 @@ =cut sub surround { - my $p = shift or die "surround need prefix as first argument"; - my $s = shift or die "surround needs suffix as second argument"; + my $p = shift; + my $s = shift; + $p = '' unless defined( $p ); + $s = '' unless defined( $s ); return map { $p . $_ . $s } grep { defined($_) } @_; }