#!/usr/bin/perl use strict; use warnings; sub TIEHASH { return bless {},$_[0]; } sub FETCH { return $_[1]; } tie my %X,__PACKAGE__; my $foo='look! no eval: 3735928559'; $foo=~s/(\d+)/$X{sprintf '0x%08X',$1}/; print $foo; #### >perl eval.pl look! no eval: 0xDEADBEEF > #### #!/usr/bin/perl use strict; use warnings; my $foo='look! no eval: 3735928559'; $foo=~s/(\d+)/${[sprintf '0x%08X',$1]}[0]/; print $foo; #### >perl eval2.pl look! no eval: 0xDEADBEEF >