求一有关过滤的正则表达式!

求一有关过滤的正则表达式!

CODE:

#!/usr/bin/perl

@aa = qw/aaa bbb a-a ddd e.ee fff ggg hhh iii jjj/;
$kk = a-a;
@aa = grep /[^$kk]/,@aa;
for(@aa){
        print "$_\n";
}

输出:
aaa
bbb
a-a
ddd
e.ee
fff
ggg
hhh
iii
jjj
请按任意键继续. . .

想把$KK的值从原来的数组中过滤掉。可是一到含有“-”的字符就过滤不了。
不知道这个正则表达式如何写。谢谢!
[^$kk]

这个地方写错了,还有$kk = a-a; 这个为什么不用引号扩起
在[] 里的meta-character是或的意思。用错了
应你的要求,改下


@aa = qw/aaa bbb a-a ddd e.ee fff ggg hhh iii jjj/;

@aa = grep { $_ !~ /-/} @aa;
for(@aa){
        print "$_\n";
}
其实我的意思是如何过滤掉含有“-”的字符串 如“dfsdf-fas" "fdd-d"等。谢谢
见4楼
sorry,怪我没说清楚。我是想在数组里过滤一个字符串,如
@aa = qw/ ttt kkk mm-t kk-j nn-op/
我就想过滤"mm-t"这个字符串或"ttt",其他的保留。你的是把所有含“-"的都过滤了。
grep { ! /(ttt)|(mm-t)/ } @aa
ls的
搞定了。谢谢各位高手!