title: Can't use an undefined value as an ARRAY reference at ~/modules/Log/Syslog/Constants.pm line 28
body: <p>Can't use an undefined value as an ARRAY reference at ~/modules/Log/Syslog/Constants.pm line 28. 
  (F) A value used as either a hard reference or a symbolic reference must
      be a defined value.  This helps to delurk some insidious errors.
  Full code is as follows: </p>
  
  <pre><code>package Log::Syslog::Fast::Constants;
  
  use strict;
  
  use warnings;
  
  use Log::Syslog::Constants ();
  use Carp 'croak';
  
  require Exporter;
  our @ISA = qw(Exporter);
  
  
  use constant LOG_UDP    =&gt; 0; # UDP
  use constant LOG_TCP    =&gt; 1; # TCP
  use constant LOG_UNIX   =&gt; 2; # UNIX socket
  
  
  use constant LOG_RFC3164 =&gt; 0;
  use constant LOG_RFC5424 =&gt; 1;
  
  our @EXPORT = ();
  our %EXPORT_TAGS = (
      protos =&gt;  [qw/ LOG_TCP LOG_UDP LOG_UNIX /],
      formats =&gt; [qw/ LOG_RFC3164 LOG_RFC5424 /],
  );
  $EXPORT_TAGS{$_} = $Log::Syslog::Constants::EXPORT_TAGS{$_}
      for qw(facilities severities);
  our @EXPORT_OK = @{ $EXPORT_TAGS{all} } = map {@$_} values %EXPORT_TAGS;
  
  sub AUTOLOAD {
      (my $meth = our $AUTOLOAD) =~ s/.*:://;
      if (Log::Syslog::Constants-&gt;can($meth)) {
          return Log::Syslog::Constants-&gt;$meth(@_);
      }
      croak "Undefined subroutine $AUTOLOAD";
  }
  
  1;
  </code></pre>