• Publicidad

Problema para definir un arreglo dentro de un CGI

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema para definir un arreglo dentro de un CGI

Notapor Nana » 2006-09-26 13:58 @624

Hola.

Hace 15 dias empece a explorar el mundo de Perl. Estoy desarrollando una serie de scripts para optimizar el funcionamiento de un cluster de servers de correo basados en Communigate.

Tengo el siguiente script:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
foreach my $UserName (sort keys %$Accounts)
{
  my $accountData = $cli->GetAccount("$UserName\@$Domain");
  my $storageUsed = $cli->GetAccountInfo("$UserName\@$Domain","StorageUsed");
 
  if (my $test = @$accountData{'UseAppPassword'})
  {
        print "$UserName\@$Domain\, $storageUsed\n, $imbox\n";
  }

  ++$nTotal;
}
print " $nTotal accounts were total, $nListed Listed, "
       .($nTotal-$nListed)." left.\n";
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4


con el cual obtengo un listado de las cuentas suspendidas por mi Anti Spam y la capacidad de estos buzones.

Ahora lo que necesito es borrar esas cuentas y volver a crearlas. La verdad he pensado en tomar la salida del script anterior y almacenarla en una variable y luego trabajar con esta pero no se si hacerlo como un arreglo o como hash...

Porfa les agradezco cualquier sugerencia...

Gracias :D
Nana
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-26 13:45 @614

Publicidad

Notapor monoswim » 2006-09-26 14:20 @639

Necesitas borrar un key del %$Accounts ? porque para eso no necesitas crear otra variable, simplemente usas la funcion delete...

No entendí mucho el problema...

PD: Bienvenido/a a los foros
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Hi MonoSwim

Notapor Nana » 2006-09-26 15:55 @704

Hola,

Con el segmento del script que adjunte en el post anterior estoy mostrando todos los buzones de correo que tengan la variable UseAppPassword y la variable StorageUsed de cada una de esas cuentas de correo (siempre manejando el CGI de Communigate) ahora lo e quiero es borrar esas cuentas y luego volver a crearlas con la variable UseAppPassword = NO.

como puedo hacer esto ?... como puedo almacenar la salida (en lugar de imprimirla) y hacer lo que necerito ?


Gracias,

PD: De veras te agradezco muchisimo muchisimo tu ayuda :wink:
Nana
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-26 13:45 @614

Notapor explorer » 2006-09-26 15:57 @706

La pregunta es sencilla así que la respuesta es sencilla: da igual. :-)

Quiero decir que tanto puedes guardar los valores en un array como en un hash. Lo normal es guardarlos en un array si sólo vas a guardar un elemento. Y en un hash si quieres asociar un valor a cada elemento.

Vas guardando elementos con push @array, $valor; y luego los recorres con un foreach $valor ( @array ).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Nana » 2006-09-26 17:10 @757

No entendi :cry:
Nana
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-26 13:45 @614

Notapor explorer » 2006-09-26 18:18 @804

Lo primero es lo primero. Yo no tengo ni idea de cómo funciona ese Communigate, así que no sé exáctamente qué es lo que tienes que hacer para borrar las cuentas.

En cuanto a lo de usar un array, un poquito más descrito sería, en el código que has puesto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
# Al principio:
@usuarios = ();
#...

#...
  if (my $test = @$accountData{'UseAppPassword'})
  {
    print "$UserName\@$Domain\, $storageUsed\n, $imbox\n";
    push @usuarios, $UserName;  # Vamos guardando el nombre de usuario
  }
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
luego... al final, recorremos el array, borrando los usuarios
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
foreach $usuario ( @usuarios ) {
    # Borramos al $usuario
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Nana » 2006-09-27 12:50 @576

Estimado Explorer,

gracias por tu ayuda.. todos los scripts ya corren ok
Nana
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-26 13:45 @614


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 11 invitados