http://qs321.pair.com?node_id=633723


in reply to Regexp pattern match problem

Hi, Use \Q..\E quotemeta while checking the pattern

#!/usr/bin/perl use strict; use warnings; open FIN, "<C:\\input.data" or die $!; my @line = <FIN>; close FIN; while(<DATA>){ chomp; my $data = $_; for my $line (@line){ chomp($line); if($data =~ m/\Q$line\E/){ print "$line +++++++++ $data\n" }else{ print "$line --------- $data\n" } } } __DATA__ some path/to/foo/bar[1][2] thing apple/flower[7] gogo dog/cat[9][8] input.data ---------- foo/bar[1] dog/cat[9][8] Output ------ foo/bar[1] +++++++++ some path/to/foo/bar[1][2] dog/cat[9][8] --------- some path/to/foo/bar[1][2] foo/bar[1] --------- thing apple/flower[7] dog/cat[9][8] --------- thing apple/flower[7] foo/bar[1] --------- gogo dog/cat[9][8] dog/cat[9][8] +++++++++ gogo dog/cat[9][8]

Not necessary to escape the special character in input file.

Regards,
Velusamy R.


eval"print uc\"\\c$_\""for split'','j)@,/6%@0%2,`e@3!-9v2)/@|6%,53!-9@2~j';