如何解决这样两个问题

如何解决这样两个问题

我现在想在一个程序中调用一个系统命令

节选如下:
1)
$a=<STDIN>;
system "grep -v bb $a > tmp";
system "sed 's/^[ \t]*//' tmp > tmp2";
上述运行的结果是:不会追加到tmp内,感觉非常奇怪。


2)
如果不用系统命令如何简单的用perl 来实现
所有行前有空格的行
能把行前的所有空格删除
比如
     a b c
变成
a b c
s/^[ \t]*//
楼上的这个方法是系统命令
我想问在perl 内如何不用系统命令去实现

难道是
$_=s/^[ t]//g

不对吧
open(FF);
while(<FF>){
   next if (/bb/);
   s/^\s+//;
   push(@ary,$_);
}
close(FF);
呵呵,就如楼上所言,用正则式。。。