perl: генерируем HTML таблицу

Редактируя очередную таблицу при написании заметки, я подумал, а может можно этот процесс как-то ускорить, а уж очень  не удобно и долго создавать таблицу при помощи тегов <tr> <td>.

Возможно, есть плагин для wordpress, но я решил написать небольшой скрипт на perl. Выбрал perl потому что когда-то уже писал на нём, и мне показалось, что скрипт должен получиться небольшой и очень простой.

Скрипт должен обрабатывать текстовый файл, в котором таблица задана в формате подобном Textile:

| A | B | C |
| 1 | 2 | 3 |
| a | b | c |


На выходе должна получиться html таблица

<table>
<tr> <td>A</td> <td>B</td> <td>C</td> </tr>
<tr> <td>1</td> <td>2</td> <td>3</td> </tr>
<tr> <td>a</td> <td>b</td> <td>c</td> </tr>
</table>

Которая отображается вот так:

A B C
1 2 3
a b c

А вот и сам скрипт:

#!/usr/bin/perl
 
my $table = 0;
 
while(<>) {
  if(/\|/) {
    if( $table == 0 ) {
      print("<table>\r\n");
      $table = 1;
    }
    my @row = split('\|');
    print("<tr>");
    foreach(@row[1..$#row-1]) {
      print("<td>$_</td>");
    }
    print("</tr>\r\n");
  }
  else {
    if( $table != 0 ) {
      print("</table>\r\n");
      $table = 0;
    }
  }
}
Запись опубликована в рубрике Сайтостроительство с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>