Я новичок в Perl, но мне нужно было получить текст из какого-то ужасного файла HTML. В коде до сих пор, я попал в точку, я добыл все значения мне нужно (я проверил это работает с самосвалом данных):Массив массивов в Perl
Для каждого записи данных, т.е. ряд 2D-таблицы они называются:
$org, $gene_name, $number, $motif_num, $pos, $strand, $seq
У меня есть много записей данных, и каждый из них будет строкой, с указанными выше значениями в качестве столбцов.
Чтобы сделать другие вещи с ними позже, я хочу создать структуру 2D-массива, поэтому я могу прокручивать каждую запись (строку) и выбирать нужные значения и т. Д.
Я думал, что лучший способ сделать это будет использовать петлю и для каждой записи данных, после извлечения значения с сопоставления с регулярным выражением, объединить значения/столбцов в массиве для отдельной записи данных:
my @seidl_array_row = ($org, $gene_name, $number, $motif_num, $pos, $strand, $seq);
Затем нажмите на этот массив готового 2D массив массивов: (. @seidl_array был определен с my
перед циклом)
push @seidl_array, [ @seidl_array_row ];
Таким образом, я получаю таблицу 2D-данных, где каждый элемент массива @seidl_array представляет собой массив, содержащий значения $ org, $ gene_name, $ number, $ motif_num, $ pos, $ strand и $ seq.
Я новичок в Perl, поэтому не знаю, был ли это правильный способ сделать это программно, так как у меня возникают проблемы, когда дело доходит до того, как делать это позже. Я задавался вопросом, была ли проблема в том, как я сконструировал массив массивов в первую очередь. Примеры в моей книге делают это статически с простыми наборами данных, и это гораздо больший геномный файл данных геномных данных, поэтому сделать это статически не реально.
Какие проблемы у вас возникли позже?Для записи ваш 2-мерный массив выглядит нормально, а во-вторых, вам будет легче извлечь данные из HTML с помощью библиотеки, специфичной для HTML, а не только регулярных выражений –