SPUG: passing in a reg exp as a string, then interpolating

Christopher Cavnor chris at enthusiasm.com
Fri Jun 9 16:58:42 CDT 2000


Thanks all;

Passing in the reg exp sans the delimiter works the best, also limits the
degree of taint checking (although the script is secure and for personal use
- but you never know).

Chris

Joel wrote:

> On Fri, 9 Jun 2000, Christopher Cavnor wrote:
>
> > does anyone know how to pass a regular expression into a script (in my
> > case, from an HTML form) and then evaluate the expression?
> >
> > I am passing in a reg exp (like "/^hello/ ")as a string and grabbing
> > it (my $regexp = /^hello/ ), and then trying to interpolate:
> >
> > push @results, $k if do{ $k =~ @{[ $regexp ]};
> >
> > Doesn't seem to be working. Any tricks for doing this?
>
> You could use 'eval':
>
> #!/usr/local/bin/perl
>
> use strict;
>
> my @results;
> my $regex = '/^hello/';
> my $test  = 'hello world';
>
> push @results, $test if ( $test =~ eval $regex );
>
> print "@results\n";  # prints "hello world\n";
>
> __END__
>
> Joel
>
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>      POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
>  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
>  For Subscriptions, Email to majordomo at pm.org:  ACTION  spug-list  EMAIL
>   Replace ACTION by subscribe or unsubscribe, EMAIL by your Email address

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
 Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
 For Subscriptions, Email to majordomo at pm.org:  ACTION  spug-list  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email address





More information about the spug-list mailing list