Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Igor Nikolaev                        2:5030/266     25 Jun 2000  06:16:12
 To : "Vladimir Lech"
 Subject : Re: Добавление в массив
 -------------------------------------------------------------------------------- 
 
 Vladimir Lech <lech@cu.kiev.ua> wrote:
 
 > Есть два массива @ary1, @ary2 со следующей структурой:
 > @ary1 = ( $elem1^$elem2^$elem3 );
 > @ary2 = ( $elem1^$elem2 );
 > Задача: Если $ary1[$elem1] eq $ary2[$elem1], то к @ary1 добавить
 > $ary2[$elem2].
 > @ary1:
 > foo1^ogo^mogo
 > foo2^oho^moho
 > foo3^ogo^moho
 > @ary2:
 > foo1^bar1
 > foo1^bar2
 > foo1^bar3
 > foo2^bar3
 > foo3^bar1
 
 > Hужно получить следующее:
 > foo1^ogo^mogo^bar1^bar2^bar3
 > foo2^oho^moho^bar3
 > foo3^ogo^moho^bar1
 > Или если кто-нибудь подскажет как получить файл из этих массивов
 > bar1 в котором foo1\nfoo3\n
 > bar2 --------- foo1\n
 > bar3 --------- foo1\nfoo2\n
 
 #!/usr/bin/perl -w
 use strict;
 
 my @ary1 = qw 'foo1^ogo^mogo foo2^oho^moho foo3^ogo^moho';
 my @ary2 = qw 'foo1^bar1 foo1^bar2 foo1^bar3 foo2^bar3 foo3^bar1';
 
 my %index_foo;
 my %index_bar;
 
 foreach ( @ary2 ) {
   my ( $key, $value ) = split /\^/;
   $index_foo { $key } .= '^'.$value;
   $index_bar { $value } .= $key.'\n';
 }
 
 print "Hужно получить следующее:\n";
 foreach ( @ary1 ) {
   my ( $key, $value ) = split /\^/;
   print $_, defined $index_foo {$key} ? $index_foo {$key} : '', "\n";
 }
 
 print "Или если кто-нибудь подскажет как получить файл из этих массивов\n";
 my $comment = ' в котором ';
 foreach my $key ( sort keys %index_bar ) {
   print $key, $comment, $index_bar {$key},"\n";
   $comment = ' --------- ';
 }
 
 > Владимир
 
 -- 
 Игорь Hиколаев
 --- ifmail v.2.12.os.sensi
  * Origin: Дразнишься? (2:5030/266@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Добавление в массив   Igor Nikolaev   25 Jun 2000 06:16:12 
Архивное /ru.perl/1341699e71c5a.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional