Tengo un script Perl que anida los bucles foreach como se ve a continuación. Se tarda mucho tiempo:¿Cómo puedo manejar el bucle anidado sin anidar las instrucciones foreach en Perl?
#! /usr/bin/perl
use strict;
use warnings;
my @sites = ('a', 'b', 'c');
my @servers = ('A', 'B');
my @data_type = ("X", "Y", "Z");
foreach my $site (@sites) {
foreach my $server_type (@servers) {
foreach my $data (@data_type) {
#statements
}
}
}
foreach
declaraciones de anidamiento como esto lleva mucho tiempo y es difícil de leer y no muy bonita. ¿Alguien puede sugerir una mejor manera de codificar esta estructura usando hash o alguna otra estructura inteligente?
No hay problema con el código. Si realmente quieres hacer lo que has escrito, entonces esta es la manera de hacerlo. Si tienes algo más en mente, descríbelo. – jrockway
Por un lado, ha establecido advertencias dos veces. O hazlo en la línea shebang ('#!/Usr/bin/perl -w') o hazlo con' use' - no necesitas hacer ambas cosas. Prefiero 'usar' porque tiene un alcance, pero algunos prefieren el' -w', quizás precisamente porque no tiene el alcance, o quizás porque es más corto. –
@jrockway: Funciona bien para mí, pero me pregunto si puedo tener un código mejor que este. – Space