perl正则表达式替换单个数组元素

时间:2013-02-26 14:53:25

标签: regex perl

我想从for循环中读取一些行并将它们拆分。 之后,我想在A SINGLE数组元素上进行替换。

my @fs = split(';', $line);
$fs[0] =~ s/\"//g;

然而,这不起作用。这条线

$fs[0] =~ s/\"//g;

返回编译器错误。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

split更改为

my @fs = split(/;/, $line);

因为split将正则表达式作为其第一个操作数。

我怀疑您看到的解析错误是由于其他地方的错误导致的,因为您问题中代码的语法是正确的。

通常,始终修复解析器诊断出的第一个错误。好的解析器尝试恢复以便尽可能多地报告错误,但此过程并不总是可靠的。您看到的错误的确切文本是什么?