Subject: | $π isn't a constant |
Mathematically, pi is a constant. Your exported variable $π is variable.
To make matters worse, if one module imports $π and alters it, the changes are visible to other modules.
Readonly.pm isn't in core, so I can understand not wanting to rely on it. But it should be possible to use it within an eval statement to mark $π as read only for people who have it installed.
Alternatively, it could use the not-officially-supported-but-it-ain't-going-away-any-time-soon Internals::SvREADONLY function to mark the variable as read only. (Yes, I know about the method call bug in Perl 5.10.0 and below, but ain't nobody gonna be calling methods on $π.)