Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Системное программирование > как выделить body из письма-массива? |
Автор: frost84 19.9.2008, 11:03 |
доброго времени суток. подскажите пожалуйста, как выделить body в массиве-письме, если известно что body и header разделены пустой строкой или 2-мя пустыми строками использую Net::POP3; ... $mess=$pop->login($user,$pass); ... for ($i=1; $i<=$mess; $i++) { $message=$pop->get($i); #получаю текущее письмо foreach $head (@$message) { $subj=$1 if ($head=~/Subject:\s(.*)/); #выделяю Subject ... } } а вот выделить все body и сложить например в отдельный массив не получается( |
Автор: shamber 19.9.2008, 11:17 |
frost84, а специальные модули использовать не хотите? |
Автор: frost84 19.9.2008, 14:35 |
можно и модули, но желательно без них. ведь это можно сделать с помощью регэкспов.. только хотелось бы понять как |
Автор: shamber 19.9.2008, 14:59 | ||
Добавьте счетчик пустых строк, проверяйте пустая ли строка, если да то увеличиваем если счетчки равен двум, то следующее это body ![]()
|
Автор: frost84 19.9.2008, 17:58 |
понятно спасибо попробую и так тоже, а пока сделал так foreach (@$message) { if ( !/^\n+|\r+/ ) {push (@arr,$_); $_ = undef;} else {last}; } в @$message остается body, а в @arr header. интересно а насколько корректно делать $_ = undef ? значение становится неопределенным, но остается в массиве.. |
Автор: amg 20.9.2008, 08:30 | ||
Чтобы оно не оставалось в массиве:
|
Автор: frost84 20.9.2008, 15:58 |
спасибо большое. |