![]() |
|
Модераторы: ginnie |
![]()
|
|
| ccoll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
Прошу сразу не пинать, так как в PERL......
Есть скрипт, он ищет определенные строки в файлах, после того как он нашел определенную строку с адресом, адрес вырезается и создается папка с названием этого адреса и после этого файл копируется в созданную папку и удаляется со старого места. Как доработать эту часть скрипта, что надо: - в файле бывает так, что почтовый адрес не один а два и более надо выбирать, а следовательно надо создавать не одну папку и во все кидать этот файл, вот часть скрипта: if ($content[$q]=~m|^To:.*\s<(\S+\@\S+)>|i or $content[$q]=~m|^To:.*\s(\S+\@\S+)|i) { if (is_local(@config,$1)) { $b++; print "$i. Storing: inbox -> $1 "; $ret = backup_mail($files[$i],$1,"in"); print("-> Done."); } } } if($b==0 or $b>2) { print "$i. Storing: inbox -> Unsorted "; backup_mail($files[$i],"Unsorted","in"); print("-> Done."); } unlink($files[$i]) and print " *******$files[$i] deleted.\n"; # удаляем файл-источник Ссорри если не понятно написал...... Вот сам скрипт: http://www.bsdhome.org/index.php/Mailbackup Примерно так выглядит файл по тому полю по которому ищет адрес: To: =?2222222222222222222222222222?= <[email protected]>, =?6776876868687687686?= <[email protected]>, <[email protected]> Это сообщение отредактировал(а) ccoll - 11.3.2010, 08:06 |
|||
|
||||
| dva300 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 17.2.2010 Где: Москва Репутация: 2 Всего: 1 |
приветствую. попробуй код ниже. изменения мимнимальны. у меня нет примера строки но если приведенный тобой корректен то логика следующая. 1) Поле ТО может содержать несколько получателей адресса которых разделенный запятой (,) 2) Находим строку с ТО 3) Разбиваем на части по запятой 4) каждую часть обрабатываем как и раньше. Как проверишь не забудуть сказать что получилось.
--------------------
Участник движения Культура Вождения |
||||
|
|||||
| ccoll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
Спасибо огромное, работает. Ещё забыл написать, текст так же может размещаться вот так:
To: =?2222222222222222222222222222?= <[email protected]>, <[email protected]>, <[email protected]> Так не работает. |
|||
|
||||
| dva300 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 17.2.2010 Где: Москва Репутация: 2 Всего: 1 |
хм.. странно... выкладывай кусок файла который ты анализируешь. думаю что ты что-то упустил. возможно там есть еще что-то, например, СС или BCC Если адреса вставляются в одну строку то идут через запятую. а вот с новой строки значит должно быть еще что-то P.S. пиши с личку, дам скайп. думаю что сие врядли кому тут интересно. --------------------
Участник движения Культура Вождения |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |