Tal como outros aspectos do PERL, o modo de uso de sockets assemelha-se bastante ao C. Esta página aborda a utilização de sockets Internet TCP em PERL.
Os passos para a comunicação com um servidor através de sockets Internet TCP são os habituais:
As operações sobre sockets são um bom exemplo de operações que podem falhar devido a circunstâncias não controláveis. Um exemplo do tratamento de erros em PERL através do uso da função die pode ser visto no troço de código abaixo. A função die termina o programa imprimindo a messagem que se lhe segue.
Segue-se o código de um exemplo com estes passos:
#!/usr/local/bin/perl5
require 5.002;
use strict;
use Socket;
my ($remote,$port, $iaddr, $paddr, $proto, $line);
$remote = 'camoes.rnl.ist.utl.pt';
$port = 1501; #random port
$iaddr = inet_aton($remote) || die "no host: $remote"; #end. do servidor
$paddr = sockaddr_in($port, $iaddr); # preenchimento do sockaddr
$proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(SOCK, $paddr) || die "connect: $!";
$old_handle = select(SOCK);
$| = 1;
select($old_handle);
print SOCK "ola\n";
$line = <SOCK>;
print $line;
close (SOCK) || die "close: $!";
exit;
Comentários à página devem ser enviados para João Garcia, preferencialmente com o tema: manual_perl.