@ARGV 参数如何只限定一个 请教各位

我现在是需要给其他部门做一个登录界面,却发现了这个问题。

是否和 文件锁 有关系?请教各位!
LZ问题真多,连上面一个问题都无彻底深究搞清楚
已经解决了,原来是文件权限的问题。

又来新问题:如下代码,为什么没能修改匹配上的行?
我的目的是:输入一个字符,如果能匹配上文件的行,则把这行删掉。

-bash-3.00# cat del_bras.pl
#!/usr/bin/perl -w

print "Please input the bras that you will del add press Enter:";
chomp (my $input=<STDIN>);
@ARGV="/export/home/gaochong/gaochong.txt";
while (<>) {
                s/^($input).*\n//;
}

/export/home/gaochong/gaochong.txt的内容如下:
pop0
pop1
pop2
如果用 小骆驼 中 9.5.3 更新大量文件的代码(如下),则会修改文件的属主,我不希望这样。
所以想用上边的办法,却没有实现。请各位帮小弟看看。

#! /usr/bin/perl –w
use strict;
chomp(my $date = ‘date’);
$^I =“.bak”;
while(<>){
s/^Author:.*/Author: Randal L. Scharwartz/;
s/^Phone:.*\n//;
s/^Date:.*/Date: $date/;
print;
}
如下代码生成了我想要的内容,但如果以令外一个用户来执行,还是改变了文件的属主。
请问如何不改变文件属主而达到我的目的呢?

-bash-3.00# cat del_bras.pl
#!/usr/bin/perl -w

print "Please input the bras that you will del add press Enter:";
chomp (my $input=<STDIN>);
open (FILE,"> /export/home/gaochong/gaochong2.txt") or die "$!";
@ARGV="/export/home/gaochong/gaochong.txt";
while (<>) {
                s/^($input).*\n//;
                print FILE $_;
}
close FILE;