As Athanasius's examples here demonstrate, the \s class requires a whitespace character (if * ? quantifiers are not present), and that's not what you have if you chomp off the newline. You may be interested to investigate the $ \z \Z line end anchors. In your particular case, \Z (big-Z) might be useful to "Match only at end of string, or before newline at the end" (see perlre); a \Z would match match the end of either a chomp-ed or un-chomp-ed line (assuming you're chomp-ing newlines).
Update: Fixed ^ vice $ in "... the ^ \z \Z line end anchors." per Lotus1's /msg. Thanks!
Give a man a fish: <%-{-{-{-<
In reply to Re^3: \s does not match end-of-line
by AnomalousMonk
in thread /s does not match end-of-line
by glendeni
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |