Serveret på et øjeblik

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; } 

Dette program accepterer nu beskeder på TCP-port 2345 og sender dem til alle dine venner. Serveren er sat op til at lytte til en socket, og accept()-kaldet fortæller os, hvis nogen forsøger at kontakte os. Når de er, får vi en variabel kaldet $client, som vi kan bruge som en fil - disse vinkelparenteser betyder, at man læser en linje fra filen og sætter den ind i en speciel variabel kaldet $_. "While"-løkken læser hele beskeden fra fjernserveren, og derefter sender "foreach"-løkken den til alle vores venner.

Serveret på et øjeblik

Jeg er sikker på, at du er enig i, at dette eksempel viser, hvor kraftfuld Perl er til at udvikle hjælpeprogrammer, og glem det ikke der er en enorm samling af open source-udvidelser, der implementerer funktioner, der er for kedelige til at oprette fra kradse. Den grundlæggende model her kunne bruges med ethvert andet IM-system som Jabber blot ved at bruge den passende klasse i stedet for Net:: OSCAR. For at se vores udvidede version af serveren beskrevet her, send beskeden "hjælp" til realworldoss på AIM.