Конечно, вы можете использовать split , как показано другими.Однако, если $str
содержит полные адреса электронной почты, вы окажетесь в мире боли.
Вместо этого используйте Email :: Address :
#!/usr/bin/perl
use strict; use warnings;
use Email::Address;
use YAML;
print Dump [ map [$_->name, $_->address ],
Email::Address->parse(
q{a@a.com;"Tester, Test" <test@example.com>,c@c.com;d@d.com}
)
];
Выход:
---
-
- a
- a@a.com
-
- 'Tester, Test'
- test@example.com
-
- c
- c@c.com
-
- d
- d@d.com