http://www.perlmonks.org?node_id=1212851

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Esteemed and hallowed Monks: Trying to force upper case on Moose args taken from command line - eg FX currency codes - e.g.
$lookup usd eur gbp chf
Yes - I could put it into the calling code - but how would I get Moose to force it itself - I tried this from Moose docs:
trigger => sub { $_[0]->code( uc( $_[0]->code ) );
but I get message that I am unable to to modify read-only value despite Moose docs saying that trigger can modify RO values. What is correct way to force upper case (and thus in general) 'pre-preocess' object constructor arguments? Thank-you.