使用变量匹配遇到问题

使用变量匹配遇到问题

$str="a+baa";
$str1="\na+baa\n";
if($str1=~m/$str/){
        print "一样的";
}else{
        print "不一样的";
}


我的期望答案是"一样的",怎样才能按纯字符去匹配呢?


QUOTE:
原帖由 zhenggb 于 2008-5-1 23:13 发表
$str="a+baa";
$str1="\na+baa\n";
if($str1=~m/$str/){
        print "一样的";
}else{
        print "不一样的";
}


我的期望答案是"一样的",怎样才能按纯字符去匹配呢?

因为+是metacase
用\Q \E

[Copy to clipboard] [ - ]
CODE:
!/usr/bin/perl
use strict;
use warnings;
my $str="a+baa";
my $str1="\na+baa\n";
if($str1=~m/\Q$str\E/){
        print "一样";
}else{
        print "不一样";
}

对,是 + 字符给解释了缘故。
perldoc -f index
学习了,谢谢各位!!!