in reply to simple substitution

A couple other ways to do this (depending on your goals and needs) would be to use Readonly instead of use constant, which is less prone to problems like having your constants considered "bare words" in string interpolation, hash keys and the like. So, you might use:
use Readonly; Readonly my $UPPERLIMIT => 10; ...

And, though I think I'm the only one who's ever used this feature, perl has the -P option which will actually pass your script through the C preprocessor before interpreting and running. In that case, you could just use #define for constants just like in C and C++. But, that wouldn't be very 'perlish', would it.

These may not be what you need (especially the -P option), but I do like Readonly a little better than use constant.

---
echo S 1 [ Y V U | perl -ane 'print reverse map { $_ = chr(ord($_)-1) } @F;'