我正在寻找像
这样的价值观$user = user1@email.com,user2@email.com,user3@email.com
但是,我只收到user1@email.com
。请建议如何表演?
我的代码
$user = user1,user2,user3,;
$user =~ s/,+|,+$/\@email.com,/;
$user =~ s/,+$//;
答案 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;