From 2ee1a35dfa91892474a7d10f8783dd95edbe7696 Mon Sep 17 00:00:00 2001 From: Mason James Date: Wed, 27 Jun 2012 01:04:36 +1200 Subject: [PATCH] Bug 6679: Fix 11 perlcritic violations in C4/Dates.pm - Subroutine prototypes used at line 82, column 1. See page 194 of PBP. (Severity: 5) - "return" statement with explicit "undef" at line 102, column 28. See page 199 of PBP. (Severity: 5) - Expression form of "eval" at line 108, column 20. See page 161 of PBP. (Severity: 5) - Variable declared in conditional statement at line 126, column 5. Declare variables outside of the condition. (Severity: 5) Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi --- C4/Dates.pm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/C4/Dates.pm b/C4/Dates.pm index aaf188c4d5..6ed9588469 100644 --- a/C4/Dates.pm +++ b/C4/Dates.pm @@ -79,7 +79,7 @@ our @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); our @days = qw(Sun Mon Tue Wed Thu Fri Sat); -sub regexp ($;$) { +sub regexp { my $self = shift; my $delim = qr/:?\:|\/|-/; # "non memory" cluster: no backreference my $format = (@_) ? _recognize_format(shift) : ( $self->{'dateformat'} || _prefformat() ); @@ -97,15 +97,15 @@ sub regexp ($;$) { return qr/^(\d{1,2})$delim(\d{1,2})$delim(\d{4})(?:\s{1}(\d{1,2})\:?(\d{1,2})\:?(\d{1,2}))?/; # everything else } -sub dmy_map ($$) { +sub dmy_map { my $self = shift; - my $val = shift or return undef; - my $dformat = $self->{'dateformat'} or return undef; + my $val = shift or return; + my $dformat = $self->{'dateformat'} or return; my $re = $self->regexp(); my $xsub = $dmy_subs{$dformat}; $debug and print STDERR "xsub: $xsub \n"; if ( $val =~ /$re/ ) { - my $aref = eval $xsub; + my $aref = eval {$xsub}; if ($dformat eq 'rfc822') { $aref = _abbr_to_numeric($aref, $dformat); pop(@{$aref}); #pop off tz offset because we are not setup to handle tz conversions just yet @@ -123,7 +123,9 @@ sub dmy_map ($$) { sub _abbr_to_numeric { my $aref = shift; my $dformat = shift; - my ($month_abbr, $day_abbr) = ($aref->[4], $aref->[3]) if $dformat eq 'rfc822'; + + my ($month_abbr, $day_abbr); # keep perlcritic happy ;) + ($month_abbr, $day_abbr) = ($aref->[4], $aref->[3]) if $dformat eq 'rfc822'; for( my $i = 0; $i < scalar(@months); $i++ ) { if ( $months[$i] =~ /$month_abbr/ ) { @@ -171,7 +173,7 @@ sub new { return $self->init(@_); } -sub init ($;$$) { +sub init { my $self = shift; my $dformat; $self->{'dateformat'} = $dformat = ( scalar(@_) >= 2 ) ? $_[1] : _prefformat(); @@ -181,27 +183,27 @@ sub init ($;$$) { return $self; } -sub output ($;$) { +sub output { my $self = shift; my $newformat = (@_) ? _recognize_format(shift) : _prefformat(); return ( eval { POSIX::strftime( $posix_map{$newformat}, @{ $self->{'dmy_arrayref'} } ) } || undef ); } -sub today ($;$) { # NOTE: sets date value to today (and returns it in the requested or current format) +sub today { # NOTE: sets date value to today (and returns it in the requested or current format) my $class = shift; $class = ref($class) || $class; my $format = (@_) ? _recognize_format(shift) : _prefformat(); return $class->new()->output($format); } -sub _recognize_format($) { +sub _recognize_format { my $incoming = shift; ( $incoming eq 'syspref' ) and return _prefformat(); ( scalar grep ( /^$incoming$/, keys %format_map ) == 1 ) or croak "The format you asked for ('$incoming') is unrecognized."; return $incoming; } -sub DHTMLcalendar ($;$) { # interface to posix_map +sub DHTMLcalendar { # interface to posix_map my $class = shift; my $format = (@_) ? shift : _prefformat(); return $posix_map{$format}; -- 2.39.5