Address the simple perlcritic findings
Everything perlcritic reports for bin/ and lib/ is now clean except the
-f/-w filetest, exec and simple-substring policies, which were out of scope
here.
- Shebangs on the five scripts still saying #!/usr/bin/perl now match what
logicLAB::RequireSheBang asks for.
- Every file gets "use re '/aa'" rather than the flag on each of the 83
regexes individually. It goes in all 45, not just the twelve that have a
regex today, so that adding one later doesn't reintroduce the violation.
Note that our .perlcriticrc sets strict=1 on
RegularExpressions::RequireDefault, so /a does not satisfy it -- it wants
ASCII-safe, not just ASCII-restrict -- and the policy accepts the pragma in
place of the modifier. Nearly all of these regexes match structural things
(routes, module names, MIME types, file extensions) where ASCII is what was
meant anyway. The one real narrowing is the log parser in Trog::Log::DBI:
a non-ASCII username no longer matches \w+ and its request drops out of the
metrics db. It already did that for byte strings, which is what the logger
actually emits, so this makes the existing behavior consistent rather than
introducing it.
- Declared 'use v5.36' in all 45 files that had no version. Chose 5.36
because that is where signatures stopped being experimental, and 30 files
were already written against them. The bundle implies strict, warnings,
signatures and state, so the boilerplate asking for those individually is
gone; Routes::HTML keeps the 'once' half of its no-warnings line, which the
bundle does not cover. Checked first that nothing in the tree relies on
indirect object syntax, multidimensional hash subscripts, string bitwise
ops or a sub named say/isa, all of which the bundle would have broken.
Makefile.PL now advertises the same floor.
- migrate6.pl writes through File::Slurper::Temp, per .preferred_modules.ini
wanting the rename-into-place behavior for write_binary. Added to PREREQ_PM.
- Dropped a commented-out $sopts{player} assignment in Routes::HTML and the
useless @extra_series initializations in migrate2/3.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CJ2NAMQyytncwHKSmD5dFe