Crear una subrutina con dos arrays
Publicado: 2017-12-14 20:05 @878
Hola, ¿qué tal?
Tengo este código que tiene dos listas asignadas como array y al comparar una con la otra extrae lo que dé un match.
Lo quiero en subrutina porque estoy haciendo otro script con diferentes variantes (múltiples opciones) pero al final siempre tengo dos listas (dos arrays) que se comparan.
Estoy tratando de hacer la subrutina desde que inicia el "for (@list){ hasta el final }" y usarla algo así como " extract (@lista, @nombres) ", y que imprima lo mismo que genera este código:
Barney Rubble
Wilma Flinstone
Realmente lo quiero para usarlo en análisis bioinformáticos (extracción de asignaciones taxonómicas con QIIME) pero tiene el mismo principio que el código que expongo aquí (se me hace más sencillo explicarlo así).
¡¡¡ Muchas Gracias !!!
Tengo este código que tiene dos listas asignadas como array y al comparar una con la otra extrae lo que dé un match.
Lo quiero en subrutina porque estoy haciendo otro script con diferentes variantes (múltiples opciones) pero al final siempre tengo dos listas (dos arrays) que se comparan.
Estoy tratando de hacer la subrutina desde que inicia el "for (@list){ hasta el final }" y usarla algo así como " extract (@lista, @nombres) ", y que imprima lo mismo que genera este código:
Barney Rubble
Wilma Flinstone
Realmente lo quiero para usarlo en análisis bioinformáticos (extracción de asignaciones taxonómicas con QIIME) pero tiene el mismo principio que el código que expongo aquí (se me hace más sencillo explicarlo así).
¡¡¡ Muchas Gracias !!!
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use strict;
- use warnings;
- my @array1 = ( "Fred Flinstone", "Wilma Flinstone", "Barney Rubble", "Betty Rubble" );
- my @list = ("Ba", "Wil");
- my (@match, @extract);
- for (@list){
- my $unit = $_;
- chomp $unit;
- @match = grep (/$unit/, @array1);
- foreach (@match){
- push (@extract, $_);
- }
- }
- foreach (@extract){
- print "$_\n";
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4