Bug 6679: Fix 11 perlcritic violations in C4/Dates.pm
authorMason James <mtj@kohaaloha.com>
Tue, 26 Jun 2012 13:04:36 +0000 (01:04 +1200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 26 May 2015 13:42:06 +0000 (10:42 -0300)
- 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 <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
C4/Dates.pm

index aaf188c..6ed9588 100644 (file)
@@ -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};