关于字符串操作的问题,望指教

关于字符串操作的问题,望指教

关于字符串操作的问题,望指教
List the flights from Beijing to Seattle
@12 @28 @a1 @6a @BJ @52 @11

I need a flight from Beijing to Newark
@09 @8a @a4 @21 @90 @BJ @32 @89

I 'd like to fly back to Beijing the next day
@45 @8a @14 @55 @a0 @67 @93 @BJ @29 @36 @7a

I 'd like to fly from Beijing to Montreal
@41 @97 @a5 @aa @79 @59 @BJ @60 @61

有一个一万行左右的文件,按以上的格式排列,1行单词,1行标注,每个单词底下都对应一个标注。单词与单词之间,标注与标注之间都用一个空格隔开。每个单词的标注都是不同的。我现在想把文件中所有Beijing下的标注@BJ,全都改成@99,代码怎么写呢?刚刚接触Perl的新手,盼各位指教,感谢!

sorry忘记说了一个问题,文件中不只是Beijing这个单词,还有其他一些单词的标识符也正好是@BJ (如Benjiamin...晕)。那么应该如何来定位所有的Beijing,再将其对应的标识符改成@99呢?
望指教。




   

谢谢anthony!--真不好意.
谢谢anthony!
真不好意思,因为大意,忘记说了一个问题,文件中不只是Beijing这个单词,还有其他一些单词的标识符也正好是@BJ (如Benjiamin...晕)。那么应该如何来定位所有的Beijing,再将其对应的标识符改掉呢?
望指教。
#! /usr/bin/perl--$fil.
#! /usr/bin/perl
$file="/home/xiaoye/file";
open LOG,"$file";
open WR,"+<$file";
@a=<LOG>;
foreach(@a){
$_=~(s/BJ/99/eg);
print $_;
print WR $_;
}
close LOG;
close WR;
谢谢楼上各位,anthony的代码试过了,还是不行啊..
$line eq ''是什么意思呢?[CCB]10[/CCB]
.....

恩我修改名称了 我再试试看 anthony热心啊 谢谢指点

每次提示下面的信息 是什么问题呢... 结果也没有变...

Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 1.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 2.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 4.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 5.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 7.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 8.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 10.
Use of uninitialized value in string eq at perlchina line 12, <$fh1> line 11.




   

没有初始化变量.
已改...文档名字也没错....
已改...文档名字也没错...仍旧是错误提示...提示的第12行出错是
if ($line1 eq '') {
这一行。[CCB]10[/CCB]
现在成功了...好好研究一下代码...
十分感谢anthony!![CCB]2[/CCB]