Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Perl и таблицы, создание таблиц с заполением 
:(
    Опции темы
wolter
Дата 22.4.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Сразу прошу меня просить за то что вопрос может быть не по адресу.
Хотлось бы сделать скрипт (допустим новости), информция будет заполнять яцейки таблицы, все в таблицы будет 3 стобца, в 1 и 3 столбце должна поподать инфа, вот сам вопрос, как реализовать на перле такую схему чтобы при добовлении заполнялась сначало первый столбец, потом третий, потом в таблицу добовлялась еще одна строка с тремя столбцами и т.д. ? пытался придумать схему чтобы скрипт просто считывал колиство строк с "базы" собственно базой в данном случии я называю обычный текстовый фаил в котором каждая строка это новое сообщения, но что то с годами совсем тупой я стал smile  
PM MAIL   Вверх
amg
Дата 23.4.2008, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 1
Всего: 50



wolter, конкретнее, пожалуйста, а то ничего не понятно.
PM MAIL   Вверх
wolter
Дата 23.4.2008, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



amg, сори, попробую более подробнее
есть простой текстовый фаил, в котором каждая новая сторока это, после обработки его скриптом отельное сообщение, задача стоит так чтобы каждое сообщение бало в отдельной ячейке таблици, но таблица имеет три столбца, тоестьнадо чтобы сообщения попадали в первый столбец, а следущие в третий, второй столбец это разделитель, если сообщений больше 2х, то в таблицу добовляеться еще одна строка.
примерно так:


 сообшение 1 |   | сообщение 2
___________________________

 сообщение 3 |   | сообщение 4
___________________________

 сообщение 5 |   | сообщение 6
PM MAIL   Вверх
amg
Дата 23.4.2008, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 1
Всего: 50



Как-нибудь так:
Код
die "Usage: $0 file(s)\n" unless @ARGV;
while ($a = <>) {
  $b = eof() ? '' : <>;
  chomp ($a,$b);
  printf " %-8s|%-4s| %-8s\n", $a, '', $b;
}


PM MAIL   Вверх
wolter
Дата 23.4.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



amg, хмм попробую )) спасибо
PM MAIL   Вверх
wolter
Дата 23.4.2008, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



amg, хмм, а можно это немного прокоментировать ?
PM MAIL   Вверх
amg
Дата 23.4.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 1
Всего: 50



# Программе нужно имя файла в качестве параметра
die "Usage: $0 file(s)\n" unless @ARGV;
# Читаем файл(ы) построчно, очередную строку помещаем в $a
while ($a = <>) {
  # Если не достигли конца файла, читаем следующую строку в $b
  $b = eof() ? '' : <>;
  # Убираем конци строк
  chomp ($a,$b);
  # Печатаем
  printf " %-8s|%-4s| %-8s\n", $a, '', $b;
}
PM MAIL   Вверх
wolter
Дата 23.4.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



amg, ооо все теперь понял )))

Добавлено через 31 секунду
amg, спасибо

Добавлено через 1 минуту и 50 секунд
я правда не очень понима как работает 
printf " %-8s|%-4s| %-8s\n", $a, '', $b;
 в чем хитрость ? ))
PM MAIL   Вверх
shamber
Дата 23.4.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



perldoc sprintf

Код

Perl's sprintf permits the following universally-known conversions:

   %%    a percent sign
   %c    a character with the given number
   %s    a string
   %d    a signed integer, in decimal
   %u    an unsigned integer, in decimal
   %o    an unsigned integer, in octal
   %x    an unsigned integer, in hexadecimal
   %e    a floating-point number, in scientific notation
   %f    a floating-point number, in fixed decimal notation
   %g    a floating-point number, in %e or %f notation

Код

one or more of:

   space   prefix positive number with a space
   +       prefix positive number with a plus sign
   -       left-justify within the field
   0       use zeros, not spaces, to right-justify
   #       ensure the leading "0" for any octal,
           prefix non-zero hexadecimal with "0x" or "0X",
           prefix non-zero binary with "0b" or "0B"

Код




Это сообщение отредактировал(а) shamber - 23.4.2008, 13:05
PM MAIL Jabber   Вверх
wolter
Дата 23.4.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



shamber, 
   %%    a percent sign
   %c    a character with the given number
   %s    a string
   %d    a signed integer, in decimal
   %u    an unsigned integer, in decimal
   %o    an unsigned integer, in octal
   %x    an unsigned integer, in hexadecimal
   %e    a floating-point number, in scientific notation
   %f    a floating-point number, in fixed decimal notation
   %g    a floating-point number, in %e or %f notation
честно первый раз узнал ))
спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.