【发布时间】:2014-06-21 23:18:27
【问题描述】:
我有一个要重写的 perl 文件解析器。 这是一个动态解析器,我需要从逗号分隔的行中提取一个值。
我想从中获取一个值的行看起来像这样:
ENTRYNAME-8,44544,99955,52,156,15:16:16,15:19:16
(这是每个已解析文件中唯一以ENTRYNAME- 开头的行。- 之后的所有内容都会因每个正在解析的文件而更改)
我想要第二个逗号后的值。 (上例中的99955)
我尝试了以下方法,但没有任何运气:
if (/ ENTRYNAME-\((.*)\,(.*)\,(.*)\)/ )
{
$entry_nr = $3;
print "entry number = $entry_nr";
next;
}
【问题讨论】:
-
最好使用
Text::CSV,或者至少在分隔符上分割线split /,/ -
这些 csv 行是否会被引用并在字符串中嵌入 ','?
标签: perl