Пара полезных перловых модулей.
NetAddr::IP — Это первый. Различные операции над ип адресами. Лично мне нужно было найти входит ли ип в определенную сеть. Тут это делается очень просто….
<br></br>
use NetAddr::IP;```
``
$some = NetAddr::IP::Lite->new('192.168.1.0/24'); - Сеть
$some1 = NetAddr::IP::Lite->new('192.168.1.1'); - Первый ип
$some2 = NetAddr::IP::Lite->new('192.168.2.1'); - Второй ип
print $some->contains($some1) ; - True или False. В данном случае ТРУ.
print "\n";
print $some->contains($some2) ; True или False. В данном случае ФОЛС.
print "\n";
```
Еще он умеет по всякому выводить ип адрес. Об этом и многом другом тут.
Mail::Box — Второй полезный модуль. Задача обработать почту в unix mail box (/var/mail/….).
<br></br>
use Mail::Box;<br></br>
use Mail::Box::Manager;<br></br>
my $mailfile="/var/mail/sms"; # файлик для работы<br></br>
my $mgr = Mail::Box::Manager->new;<br></br>
my $folder = $mgr->open($mailfile, type => 'Mail::Box::Mbox', access => 'rw');<br></br>
foreach my $msg ($folder->messages) { # читаем подряд все сообщения.<br></br>
my $subject = $msg->subject; # Тема<br></br>
my $body = $msg->decoded; # Тело<br></br>
my $rec = $msg->get('Received'); # Вот так вытаскивается любой произвольный заголовок.<br></br>
$msg->delete; # удаляем сообщение.<br></br>
}```
``
На сам деле делать он умеет очень много. IMAP, POP3 и т.д. Смотреть [тут](http://search.cpan.org/search?query=Mail::Box&mode=all)