|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alan Long 2:5030/1082.72 06 Apr 2002 19:11:12 To : All Subject : map/shift --------------------------------------------------------------------------------
Hello All!
Тут вот несколько очередных вопросов созрело:
есть фрагмент:
my @content =
(qw#<tr><td>data11</td><td>data12</td></tr><tr><td>data21></td><td>data22</td><
/tr>#);
my @rows = ();
foreach (
map { s#</tr>##g; $_ } split( '<tr>', join( '', @content ) )
) {
@row = map { s#</?[^>]+>##g; $_ } split( '<td>', $_ );
shift @row;
push( @rows, \@row );
}
shift @rows;
что мне не нравится:
1. фрагменты типа:
@a = map { s/.../.../g; $_ } @b;
то есть этот фрагмент делает преобразование массива @b в @a путем
применения ко всем элементам @b оператора поиска-замены s/.../.../
Можно-ли его записать как-то по другому, хотелось-бы что-то типа:
@a = map s/.../.../g, @b;
2. Операторы shift, то есть если идет split для строки и которая начинается с
разделителя, то получается ненужный мне элемент в начале массива, от которого
мне приходится избавлятся. Может есть какая-нибудь возможность обойтись без
shift ?
--
With best,
Ъ-· Ъ
Е-ЧLaі\і <alan@x-rays.eu.org>
--- timEd/386 1.10+
* Origin: X - Rays Station (2:5030/1082.72)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/4581caf19711.html, оценка из 5, голосов 10
|