【发布时间】:2011-03-07 05:08:50
【问题描述】:
我是 Perl 新手,我有一个包含电子邮件和姓名的 CSV 文件,如下所示:
john@domain1.com;John
Paul@domain2.com;
Richard@domain3.com;Richard
Rob@domain4.com;
Andrew@domain5.com;Andrew
但是,您可以看到一些条目/行包含电子邮件地址和 ; 字段分隔符,但缺少名称。我需要逐行阅读,如果缺少名称字段,我想在这个地方打印电子邮件的开头直到@domainX.com。输出示例:
john@domain1.com;John
Paul@domain2.com;Paul
Richard@domain3.com;Richard
Rob@domain4.com;Rob
Andrew@domain5.com;Andrew
我是 Perl 新手,我做了逐行读取的迭代,这样:
#!/usr/bin/perl
use warnings;
use strict;
open (MYFILE, 'test.txt');
while (<MYFILE>) {
chomp;
}
但我无法解析条目以使用 ; 作为分隔符并检查名称字段是否丢失,从而打印不带域的电子邮件的开头。
有人可以根据我的代码给我一个例子吗?
【问题讨论】: