Yes, okay. But that doesn't really affect how this
hypothetical behavior for ARGHelper would be, does it?
It simply means that defining what constitutes assignment
with the same parameters as what incurs the warning is
slightly too restrictive (as it leaves out 0 and 1),
but the idea is still there and otherwise valid.
I don't think you've made your case as to how this could
negatively affect things; I already pointed out the bit
about scope. An assignment returns its value,
so the statement still evaluates to 0 or 1, whether or not
an assignment is taking place.
% echo '$_=0;' >! /tmp/a.pm ; perl -Mlib=/tmp -Ma
a.pm did not return a true value.
BEGIN failed--compilation aborted.
perl -pew "s/\b;([mnst])/'$1/g"