Al reves, el problema de no utilizar fork es que si intentas escuchar con varias victimas no podrás hacerlo, solo una a la vez hasta que finalice la ejecucion de system por salir nc de su ejecucion. De todas formas todo el code está medio dudoso, poco práctico y muy poco perlero... como escrito a las apuradas. Por dar un ejemplo:
En esa parte, si new IO::Socket::INET() falla y el or pasa al otro lado con el die, tu programa pedira "Inserta cuantos minutos quieres escuchar: " y luego, así como así... CRASH!
a demas de my $temp=<STDIN>, que te dejara un fin de línea, si no me equivoco.
esta otra parte tambien me resulto dudosa (Tal vez por el estado somnoliento):
y al final:
se usaria un foreach porque el objetivo es recorrer el array. Por ultimo podrias evaluar el uso de matrices asociadas (en jerga perlera: Hashes) para simplificar el logging de las conexiones.
Se ve que tenes buena base de programación, pero no usas las practicidades de Perl.
Y un ultimo consejo: Si te gusta Perl deja de una vez a Microsoft y venite para Linux, donde Perl esta en su salsa.
Código (perl) [Seleccionar]
print "\nInserta cuantos minutos quieres escuchar: ";
my $servsock = new IO::Socket::INET(
LocalPort => $port,
Proto => 'tcp',
Listen => 1,
Reuse => 1,
) or die "Impossible crear el socket: $!\n";
my $temp=<STDIN>;
En esa parte, si new IO::Socket::INET() falla y el or pasa al otro lado con el die, tu programa pedira "Inserta cuantos minutos quieres escuchar: " y luego, así como así... CRASH!
a demas de my $temp=<STDIN>, que te dejara un fin de línea, si no me equivoco.
esta otra parte tambien me resulto dudosa (Tal vez por el estado somnoliento):
Código (perl) [Seleccionar]
my $temp=<STDIN>;
my $temp2=$temp*60;
$data=(time()+$temp2);
y al final:
Código (perl) [Seleccionar]
for ($i=0;$i<$c;$i++){
$temp2=$i+1;
print "\n";
print $temp2;
print "-";
print $DB[$i];
}
se usaria un foreach porque el objetivo es recorrer el array. Por ultimo podrias evaluar el uso de matrices asociadas (en jerga perlera: Hashes) para simplificar el logging de las conexiones.
Se ve que tenes buena base de programación, pero no usas las practicidades de Perl.
Y un ultimo consejo: Si te gusta Perl deja de una vez a Microsoft y venite para Linux, donde Perl esta en su salsa.