sub ejecutar($$) {
      ($comando, $conexion) = @_;
      $resultado = '';
      if ($comando eq 'fecha')  { 
              $resultado = localtime() . "\n";
      } elsif ($comando eq 'usuarios')  { 
              $resultado = `who`;   
      }
      if ($resultado) {
              print $conexion "OK\n";
              print $conexion $resultado;
              print $conexion "FIN\n";
      } elsif ($comando eq 'salir') {
              print $conexion "Adios.\n";
      } else {
              print $conexion "ERR\n";
      }
}

sub atender($) {
      $conexion = shift;
      $ip = $conexion->peerhost;
      print "[Conexión establecida desde $ip]\n";
      print $conexion "Bienvenido.\n";
      do {
              if ($comando = <$conexion>) {
                $comando =~ s/\r\n|\n//g;
                ejecutar($comando, $conexion);
              } else {
                $comando = 'salir';
              }
      } until ($comando eq 'salir');
      $conexion->shutdown(2);
      print "[Conexión finalizada desde $ip]\n";
}

1;
