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

Joel largest at largest.org
Fri Jun 9 15:18:35 CDT 2000


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





More information about the spug-list mailing list