X-Git-Url: https://git.donarmstrong.com/?p=reference.git;a=blobdiff_plain;f=blib%2Flib%2FReference%2FField%2FPages.pm;fp=blib%2Flib%2FReference%2FField%2FPages.pm;h=0000000000000000000000000000000000000000;hp=8e1c1c24c9131ac21b5a403a123c4dcd8d7bde57;hb=086538a2425d531df6c90013cf8ea40711572604;hpb=867806a4b5d5ec60310161f0bca43d2cdcdfed52;ds=sidebyside diff --git a/blib/lib/Reference/Field/Pages.pm b/blib/lib/Reference/Field/Pages.pm deleted file mode 100644 index 8e1c1c2..0000000 --- a/blib/lib/Reference/Field/Pages.pm +++ /dev/null @@ -1,109 +0,0 @@ -# This module is part of da_reference, and is released -# under the terms of the GPL version 2, or any later version. See the -# file README and COPYING for more information. -# Copyright 2003 by Don Armstrong . -# $Id: Pages.pm 45 2013-09-10 18:05:31Z don $ - -package Reference::Field::Pages; - -=head1 NAME - - -- - -=head1 SYNOPSIS - - -=head1 DESCRIPTION - - -=head1 BUGS - -None known. - -=cut - - -use strict; -use vars qw($REVISION $DEBUG); - -use NEXT; -use Params::Validate qw(:types validate_with); - -BEGIN{ - ($REVISION) = q$LastChangedRevision: 45 $ =~ /\$LastChangedRevision:\s+([^\s+])/; - $DEBUG = 0 unless defined $DEBUG; -} - - -sub _init{ - my $self = shift; - - $self->{reference}->{pages} = {start => undef, - stop => undef, - }; - - $self->NEXT::_init; - -} - -sub pages{ - my $self = shift; - my %params; - if (scalar(@_) == 1) { - $params{pages} = shift; - $params{output} = 'scalar'; - } - else { - %params = validate_with(params => \@_, - spec => {pages => {type => ARRAYREF|SCALAR|HASHREF, - optional => 1, - }, - start => {type => SCALAR, - optional => 1, - }, - stop => {type => SCALAR, - optional => 1, - }, - output => {default => 'scalar', - type => SCALAR, - }, - }, - ); - } - # Update author according to the passed information - if (defined $params{start} or defined $params{stop}) { - $self->{reference}->{pages}->{start} = $params{start} if defined $params{start}; - $self->{reference}->{pages}->{stop} = $params{stop} if defined $params{stop}; - } - elsif (defined $params{pages}) { - $self->{reference}->{pages} = {start => undef, - stop => undef, - }; - ($self->{reference}->{pages}->{start},$self->{reference}->{pages}->{stop}) = split(/\-+/,$params{pages}); - } - - if (wantarray) { - return grep {defined} ($self->{reference}->{pages}->{start},$self->{reference}->{pages}->{stop}); - } - local $_ = $params{output}; - if (/bibtex/) { - return join('--',map {defined $_ ? $_ : ()} ($self->{reference}->{pages}->{start},$self->{reference}->{pages}->{stop})); - } - else { - return join('-',map {defined $_ ? $_ : ()} ($self->{reference}->{pages}->{start},$self->{reference}->{pages}->{stop})); - } - -} - - - -1; - - -__END__ - - - - - -