|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1341699e71c5a.html, оценка из 5, голосов 10
|