The subs pragma is fine. The fragile part of the code is the use of barewords.
You don't see any trouble in your single file because it's a single file. When you start exporting subs and pulling in classes and packages from other files, then life can get complicated. There are some seven to ten cases of bareword disambiguation in the Perl 5 lexer, and almost no one can enumerate all of them; the complexity of those heuristics and the fact that even experts have trouble remembering all of the ways things that go weird make me want to avoid them where possible.