Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: use of constants in regex substitutions?

by perlmonkey (Hermit)
on Sep 23, 2003 at 01:38 UTC ( #293357=note: print w/ replies, xml ) Need Help??


in reply to use of constants in regex substitutions?

This is probably overkill, but you can create a tied object wrapper to do the look ups. This will be a bit slow, but if you dont need speed, it might be interesting to look at.

use strict; my $str = "foobar"; my $c = MyConstants->new(); print "str = $str\n"; $str =~ s/$c->{Foo}/$c->{Bar}/; print "str = $str\n"; print "Bar = $c->{bar}"; package MyConstants; use constant Foo => "foo"; use constant Bar => "bar"; use Tie::Hash; use base qw(Tie::StdHash); use Carp qw(croak); sub new { tie my %self, $_[0]; return bless \%self, $_[0]; } sub FETCH { if( $_[0]->can($_[1]) ) { goto &{$_[1]}; } else { croak("Undefined constant \"$_[1]\" called"); } }
results:
str = foobar str = barbar Undefined constant "bar" called at /tmp/test.pl line 8


Comment on Re: use of constants in regex substitutions?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://293357]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (9)
As of 2015-07-03 16:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (54 votes), past polls