Well since you say
delete you could use something like
for (keys %runset) {
unless($_ eq uc($_)) {
delete $runset{$_};
}
}
before your printing loop.
However you have another problem:
a hash is un-ordered, so you won't get the sentence you expect
unless you are very lucky - you need some way to specify the order in
which the values of the uppercase keys are printed. The example
you provide doesn't work for a simple sort of the uppercase keys
so you'll have to think of something else.
--
I'd like to be able to assign to an luser