chomp() は $/ に依存していると知れ!

perldocにあるように、chomp()の挙動は $/ に依存します。ということは、うっかり local $/ したスコープで chomp() を行うと、何もおきません

この結果起きる現象がきわめて不可解なので、readlineの直後以外の場面ではchomp()を使わず s/\r?\n\z//xms するのが無難でしょう*1

use strict;
use warnings;

local $/;

my $s = "Hello\n";
chomp $s;
print "[$s]\n";
# =>
#[Hello
#]

Xslateがまさにこれにはまっていたので修正しました。

https://github.com/xslate/p5-Text-Xslate/commit/92c7387b0f0ebdad5761c420a54564b9e8d2f635

[追記]

*1:はてブのコメントをうけてs/\n\z//xmsから修正