如何在perl中附加逗号分隔字符串的电子邮件ID?

时间:2015-12-11 17:11:00

标签: perl

我正在寻找像

这样的价值观
$user = user1@email.com,user2@email.com,user3@email.com 

但是,我只收到user1@email.com。请建议如何表演?

我的代码

$user = user1,user2,user3,;
$user =~ s/,+|,+$/\@email.com,/;
$user =~ s/,+$//;

2 个答案:

答案 0 :(得分:2)

符合你原来的意图:

$user = 'user1,user2,user3,';
$user =~ s/,/\@email.com,/g;
$user =~ s/,$//;

另一种方法略有不同:

$user = 'user1,user2,user3,';
$user = join(',', map { $_ . '@email.com' } split(/,/, $user));

答案 1 :(得分:2)

这不需要尾随逗号(尽管它可以使用):

$users = join ',', map { $_.'@email.com' } split /,/, $users;

如果您需要删除空字段,可以使用以下内容:

$users = join ',', map { $_.'@email.com' } grep { length($_) } split /,/, $users;