tr does not interpolate.
Here, tr is counting the number of characters in the '$cards' literal character set that are in the $bad string.Win8 Strawberry 5.30.3.1 (64) Fri 09/25/2020 23:09:19 C:\@Work\Perl\monks >perl my $kards = -99; my $bad='$card$card'; my $card='K'; eval {print "eval is testing for $card in $bad \n"; $kards = $bad =~ tr/$card//; # tried also tr/$card/$card/; same + bad result. }; print "1: Num of $card in $bad = $kards \n"; $king = $bad =~ tr/$card//; print "2: Num of K in $bad is = $king \n"; __END__ eval is testing for K in $card$card 1: Num of K in $card$card = 10 2: Num of K in $card$card is = 10
Give a man a fish: <%-{-{-{-<
In reply to Re: tr operator in eval
by AnomalousMonk
in thread tr operator in eval -- updated
by pgmer6809
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |