Advanced-Config

 view release on metacpan or  search on metacpan

t/76-check_all_languages2.t  view on Meta::CPAN

            my ($nth, $before, $after, $spaces) = fix_key ($day);
            $days{$nth} = $d;
            ++$day_spaces  if ( $spaces );
            $lang_wide = $lang_wide || $before;
            $lang_utf8 = $lang_utf8 || $after;
         }
      }

      # Need Sunday(1) ... Saturday(7) ... since order from localtime() [wday: 0..6]
      # But array is Monday(0) to Sunday(6).
      # So take advantage of -1 being last element in array!
      foreach my $d (1..7) {
         foreach my $w ( @{$langData->{day_name}->[$d - 2]} ) {
            my ($wd, $before, $after, $spaces) = fix_key ($w);
            $wdays{$wd} = $d;
            ++$wday_spaces  if ( $spaces );
            $lang_wide = $lang_wide || $before;
            $lang_utf8 = $lang_utf8 || $after;
         };
         foreach my $w ( @{$langData->{day_abb}->[$d - 2]} ) {
            my ($wd, $before, $after, $spaces) = fix_key ($w);
            $wdays{$wd} = $d;
            ++$wday_spaces  if ( $spaces );
            $lang_wide = $lang_wide || $before;
            $lang_utf8 = $lang_utf8 || $after;
         };
      }

      # ------------------------------------------------------
      # Used to create the config files ...
      # ------------------------------------------------------
      my (@MoY, @MoYs, @Dsuf, @DoW, @DoWs);

      foreach my $m (1..12) {
         my $mon = $langData->{month_name}->[$m-1]->[0];
         my ($name, $before, $after, $spaces) = fix_key ($mon);
         push (@MoY, $name);

         my $abb = $langData->{month_abb}->[$m-1]->[0];
         ($name, $before, $after, $spaces) = fix_key ($abb);
         push (@MoYs, $name);
      }

      push (@Dsuf, ".");      # Unused 0th element!
      foreach my $d (1..31) {
         my $suf = $langData->{nth}->[$d-1]->[0];   # The 1st entry.
         push (@Dsuf, $suf);
      }

      # So it's Sun ... Sat order.
      foreach my $d (1..7) {
         my $w = $langData->{day_name}->[$d - 2]->[0];   # The 1st entry.
         my ($wd, $before, $after, $spaces) = fix_key ($w);
         push (@DoW, $wd);

         $w = $langData->{day_abb}->[$d - 2]->[0];      # The 1st entry.
         ($wd, $before, $after, $spaces) = fix_key ($w);
         push (@DoWs, $wd);
      }

      # So I can log my results ...
      # And prove my assumptions are good!
      DBUG_PRINT ("INFO", "MoY: %d, Dsuf: %02d, DoW: %d, wide(%2d), utf8(%d), spaces(%2d/%2d/%2d), Language: %s/%s",
                   scalar (keys %months), scalar (keys %days), scalar (keys %wdays), $lang_wide, $lang_utf8, $mon_spaces, $day_spaces, $wday_spaces, $mod, $Language);

      my %data = ( hMoY => \%months,   hDsuf  => \%days,      hDoW => \%wdays,
                   MoY  => \@MoY,      Dsuf    => \@Dsuf,     DoW  => \@DoW,
                   MoYs => \@MoYs,                            DoWs => \@DoWs,

                   wide => $lang_wide, utf8   => $lang_utf8,
                   lang => $Language,  module => $module,
                   spaces => $mon_spaces + $day_spaces );

      # $lang_data{$mod} = \%data;
      $lang_data{$Language} = \%data;
   }

   DBUG_RETURN (\%lang_data);
}



( run in 1.049 second using v1.01-cache-2.11-cpan-e1769b4cff6 )