奇怪的字符串匹配?

奇怪的字符串匹配?

我是windows xp系统
$tm=`echo %date:~0,10%`; 得到当前时间为 2008-11-27
在一个目录下有很多 Build 2589 PC (2008-11-27 0012.55) 这类的目录。
我想直捷匹配一下,总是不成功。
$temp=~/$tm/change/;
我print 出来,$temp内容就是Build 2589 PC (2008-11-27 0012.55), $tm 也是2008-11-27。
这个意思?
$temp =~ s/$tm/change/;
笔误,我是这样写的
$temp =~ s/$tm/change/;
一直不成功。


QUOTE:
原帖由 df4747 于 2008-11-27 10:03 发表
笔误,我是这样写的
$temp =~ s/$tm/change/;
一直不成功。

试试

$temp =~ s/\Q$tm\E/chang/;


QUOTE:
原帖由 df4747 于 2008-11-27 09:46 发表
我是windows xp系统
$tm=`echo %date:~0,10%`; 得到当前时间为 2008-11-27
在一个目录下有很多 Build 2589 PC (2008-11-27 0012.55) 这类的目录。
我想直捷匹配一下,总是不成功。
$temp=~/$tm/change/;
我 ...

$tm里有个\n
$tm 是有个\n, 我去掉了后就好了。
$tm=`echo %date:~0,10%`;
chomp($tm);
$temp=~s/$tm/changed/;


谢谢大家帮忙。
以后要多注意这些东西了。