Bueno, mi pregunta es la siguiente: me han encomendado la tarea de enviar ciertos mensajes hacia un Syslog en UNIX de tal forma que empecé desarrollando un socket cliente (también hice mi socket servidor para comprobar) y me ha funcionado muy bien. Este es mi código:
Using perl Syntax Highlighting
- use strict;
- use IO::Socket::INET;
- print "\n>> Programa Cliente <<\n";
- my $MySocket = new IO::Socket::INET -> new(PeerPort => 1234, Proto => 'udp', PeerAddr => 'localhost');
- my $def_msg = "Escriba el mensaje para ser enviado: ";
- print "\n$def_msg";
- while(my $msg = <STDIN>) {
- chomp $msg;
- if($msg ne '') {
- print "\nEnviando... '$msg'";
- if($MySocket -> send($msg)) {
- print ".....<terminado>\n";
- print $def_msg;
- }
- }
- else {
- $MySocket->send('');
- exit 1;
- }
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Ahora bien, cuando intenté enviar esto al equipo en donde radica el Syslog por el puerto 514, el Syslog no lo registró en el log que escribe. Sin embargo, con el programa snoop (que entiendo es como un sniffer) sí veo que mi mensaje llega, de tal forma que al investigar un poco más me di cuenta que existen dos módulos para comunicarse por medio de Perl con el Syslog; Sys::Syslog creo que es el que me sirve, sin embargo no logro entenderlo.
¿Alguien tiene un ejemplo? Solo necesito saber cómo enviar, por ejemplo, la cadena "hola mundo" (jeje).
Mil gracias.