It looks like 2.38 removes the parsing of an undocumented option syntax:
Previously GetOptions ('foo|!' => $foo) worked just like 'foo!'.
The 'foo|!' syntax is undocumented in POD for 2.38 and 2.37 at least,
and therefore an error on our part. Which we are now fixing in our code
to use the correct documented syntax.
However, since we were caught out by this, so I'm just submitting as doc
request, in case you think it is appropriate mention this in CHANGELOG
in case anyone else is bitten by it ;-)
Many thanks for your work on Getopt::Long,
osf'