why does Perl choke here?

Z

Z. M. Wu

Perl does not like if $other contains special characters
like * ] in the following

my @a=split/$other/,$req;


My current workaround is

$other=~ s/[\)\(\*]/_/g;
$req=~ s/[\)\(\*]/_/g;

before the split.

Any insight or better solution would be helpful

Thanks

Mr Wu Zong Ming
 
G

Gunnar Hjalmarsson

Z. M. Wu said:
Perl does not like if $other contains special characters
like * ] in the following

my @a=split/$other/,$req;

No, they are special characters in regular expressions, and need to be
escaped.
My current workaround is

$other=~ s/[\)\(\*]/_/g;
$req=~ s/[\)\(\*]/_/g;

before the split.

Any insight or better solution would be helpful

Better solution:

my @a = split /\Q$other/, $req;

See "perldoc perlre".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top