Okamžite podávané

use IO:: Socket; use constant OURPORT => 2345; and then change the main program to: my $server = IO:: Socket:: INET->new( Proto => 'tcp', LocalPort=> OURPORT, Listen => SOMAXCONN, Timeout => 1, Reuse => 1); while(1) { $oscar->do_one_loop(); my $client; if ($client = $server->accept()) { my $message = ''; while () { $message = $message. $_; } close $client; my $buddy; foreach $buddy ($oscar->buddies(BUDDYGROUP)) { $oscar->send_im($buddy, $message); } } sleep 1; } 

Tento program teraz prijíma správy na porte TCP 2345 a posiela ich všetkým vašim kamarátom. Server je nastavený tak, aby počúval soket a volanie accept() nám povie, či sa nás niekto pokúša kontaktovať. Keď sú, dostaneme premennú s názvom $client, ktorú môžeme použiť ako súbor – tieto lomené zátvorky znamenajú prečítať riadok zo súboru a vložiť ho do špeciálnej premennej s názvom $_. Slučka „while“ prečíta celú správu zo vzdialeného servera a potom ju slučka „foreach“ pošle všetkým našim kamarátom.

Okamžite podávané

Som si istý, že budete súhlasiť, že tento príklad ukazuje, aký silný je Perl pri vývoji nástrojov, a nezabudnite existuje obrovská zbierka rozšírení s otvoreným zdrojom, ktoré implementujú funkcie, ktoré sú príliš únavné na vytváranie škrabanec. Základný model tu môže byť použitý s akýmkoľvek iným systémom IM, ako je Jabber, jednoducho použitím vhodnej triedy namiesto Net:: OSCAR. Ak chcete vidieť našu rozšírenú verziu servera popísanú tu, pošlite správu „help“ realworldoss na AIM.