The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
[checked] eg/search-transactions.pl
Return value of flagged function ignored - say at line 69, near 'say 'Search begins on ' . $self->start_date;'.
  InputOutput::RequireCheckedSyscalls (Severity: 3)
    This performs identically to InputOutput::RequireCheckedOpen/Close
    except that this is configurable to apply to any function, whether core
    or user-defined.

    If your module uses Fatal, Fatal::Exception, or autodie then any
    functions wrapped by those modules will not trigger this policy. For
    example:

        use Fatal qw(open);
        open my $fh, $filename;  # no violation
        close $fh;               # yes violation

        use autodie;
        open $filehandle, $mode, $filename;   # no violation

    Currently, autodie is not properly treated as a pragma; its lexical
    effects aren't taken into account.
Multiple "package" declarations at line 91, near 'package main;'.
  Modules::ProhibitMultiplePackages (Severity: 4)
    Conway doesn't specifically mention this, but I find it annoying when
    there are multiple packages in the same file. When searching for methods
    or keywords in your editor, it makes it hard to find the right chunk of
    code, especially if each package is a subclass of the same base.
Package "main" does not start with a upper case letter at line 91, near 'package main;'.
  NamingConventions::Capitalization (Severity: 3)
    Conway recommends to distinguish different program components by case.

    Normal subroutines, methods and variables are all in lower case.

        my $foo;            # ok
        my $foo_bar;        # ok
        sub foo {}          # ok
        sub foo_bar {}      # ok

        my $Foo;            # not ok
        my $foo_Bar;        # not ok
        sub Foo     {}      # not ok
        sub foo_Bar {}      # not ok

    Package and class names are capitalized.

        package IO::Thing;     # ok
        package Web::FooBar    # ok

        package foo;           # not ok
        package foo::Bar;      # not ok

    Constants are in all-caps.

        Readonly::Scalar my $FOO = 42;  # ok

        Readonly::Scalar my $foo = 42;  # not ok

    There are other opinions on the specifics, for example, in perlstyle.
    This policy can be configured to match almost any style that you can
    think of.
Return value of flagged function ignored - say at line 105, near 'say np(%details);'.
  InputOutput::RequireCheckedSyscalls (Severity: 3)
    This performs identically to InputOutput::RequireCheckedOpen/Close
    except that this is configurable to apply to any function, whether core
    or user-defined.

    If your module uses Fatal, Fatal::Exception, or autodie then any
    functions wrapped by those modules will not trigger this policy. For
    example:

        use Fatal qw(open);
        open my $fh, $filename;  # no violation
        close $fh;               # yes violation

        use autodie;
        open $filehandle, $mode, $filename;   # no violation

    Currently, autodie is not properly treated as a pragma; its lexical
    effects aren't taken into account.