in reply to Re: Small examples of string eval
in thread Small examples of string eval
In my opinion, eval EXPR (as opposed to eval BLOCK) should be used only as a last resort. Your code is a prime example. It breaks as soon as someone places -, } or \ in %charmap. The following does not, and avoids eval EXPR entirely:
while (<>) { s/(.)/exists $charmap{$1} ? $charmap{$1} : $1/seg; print; }
(No, the /e is not the same as eval EXPR. There's no dynamic code generation. /ee, on the other hand, would be the same as eval EXPR.)
|
---|
In Section
Seekers of Perl Wisdom