http://qs321.pair.com?node_id=11122256


in reply to Re: tr operator in eval -- updated
in thread tr operator in eval -- updated

Thanks very much. There is a lot I don't know about perl, and even more so about 'modern' perl since I only dive into programming about once per year. I had in fact discovered the s/char//g trick after making the OP. Those 'set' operations look very useful. I will have to study up on them. In this case I am not (yet) sure they will work, since a suit like "AKQxxx" is valid but one like "AAKxxx" is not. (There is only one Ace of spades for example.) So assuming counting members of the set AKQ would return 3 in both cases(??), but the second is invalid. But no doubt I will find a use for set operations now that I know they are available. pgmer6809 PS. I have 'discovered' (I am sure I am not the first!) that a way to avoid destruction of the original string is to use $& as in $deal =~ s{AKQJ}{$&}xg; will count the number of top cards in $deal, but leave it unchanged: </code> $deal="AQTxx"; $c = $deal =~ s{AKQJ}{$&}xg; print "$c,$deal\n"; output: 2,AQTxx