» Главная
eXcode.ru » Статьи » Perl
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 5





Форум на Perl.




Автор: Ковязин Дмитрий, P-Lib(p-lib.narod.ru)
Форум.

Форумы в Интернете можно встретить сплошь и рядом.Ни один уважающий себя сайт не обходится без них. Форум дает возможность узнать мнение посетителей о сайте и о том,что они думают об авторе и о его творениях :). Форум,пример которого я здесь приведу не очень сложный,но он обеспечивает все необходимые функции.Для лучшего понимания имеет смысл разбить его на несколько частей,объяснить каждую в отдельности,а затем объединить все вместе.

Данный форум состоит из следующих частей:

* Главная страница-вывод списка топиков.
* Создание нового топика и запись в файл.
* Создание ответа на топик и запись в файл.

Начнем не с главной страницы,потому что она обобщает всю информацию,а с середины-добавления нового топика.

Добавление нового топика.

Сначала в директории cgi-bin веб-сервера создадим каталог html,куда будут записываться все сообщения. Сразу оговорюсь,что все сообщения пишутся в html-файл:сначала топик и сообщение,затем к нему дописываются ответы. По ходу дела все будет понятно.
Сгенерируем форму для добавления новой темы и сообщения.



#!/usr/local/bin/perl
#Webforum.cgi version 1.01
$request=$ENV{′REQUEST_METHOD′};
$content=$ENV{′CONTENT_LENGTH′};

$cgi="url/cgi-bin";
$url="url/cgi-bin/html";
$dir="/usr/local/apache/cgi-bin/html";

print "Content-type:text/htmlnn";
print <<HTML;
<html><head><style>a:link {text-decoration:none; }</style></head><body>
<h4 align=center><font color="0000ff">New topic</font></h4>
<p align=right><a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
Home</font></a>
<p><form action="$cgi/webforum.cgi" name="newtop" method="GET">
<table width=60% align=center bgcolor="e6e8fa">
<tr><td>
<tr><td>Your nick:<td><input type="text" name="nick" size=20>
<tr><td>Topic name:<td><input type="text" name="theme" size=20>
<tr><td><input type="hidden" name="action" value="ok">
<tr><td colspan=2> Message:<p>
<textarea cols=40 rows=15 name="post" wrap="virtual"></textarea>
<tr><td colspan=2><input type="submit" value="Submit"></table>
HTML


Если данные введены в форму получаем их и декодируем.



@pairs = split(/&/, $query);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$name =~ s///g;
$name =~ s/<([^>]|n)*>//g;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/cM/ /g;
$value =~ s/|/ /g;
$value =~ tr/ / /s;
$value =~ s/<([^>]|n)*>//g;
$value =~ s/"/"/g;
$value=~s/(http://+S)/<A href="$1">$1</A>/g;
$input{$name} = $value;
}

$nick=$input {′nick′};
$theme=$input {′theme′};
$message=$input {′post′};

#Create new topic.


#Открываем каталог и читаем его содержимое. Файлы в каталог записываются в виде #001.html,002.html и т.д.То есть,каждый вновь записываемый файл,увеличивается #на единицу.Это делается следующим образом.


opendir (DIR,"$dir");
while (@mes=readdir (DIR)) {
foreach $mes(@mes) {
$count=@mes;
$count++;
$page="00".($count-2);
}


# ($count-2)-это для того,чтобы не считать подкаталоги типа "." и "..". # Проверяем,не являются ли поля формы пустыми. Если нет-открываем файл на запись # и пишем информацию.


if ($nick ne "" && $theme ne "" && $message ne "") {
open (FILE,">$dir/$page.html");
print FILE "<html><head><style>
a:link {text-decoration:none; } </style><title>$theme</title>n";
print FILE "<meta name="author" content="$nick"></head>n";
print FILE "<body bgcolor="f6f8fa">n";
print FILE "<p align=right><a href="$cgi/webforum.cgi?action=reply&file=$page.html">n";
print FILE "<font face="ferdana" size=3>Post reply</font></a>n";
print FILE " <a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
Home
</font></a><p>n";
print FILE "<table width=90% cellpadding=0 cellspacing=0 border=1>n";
print FILE "<tr><td align=center width=150 bgcolor="D5E6E1"><
font face="Arial" size=2 color="808080">Author</font>n";
print FILE "<td bgcolor="D5E6E1"><font face="serif" size=2 color="0000ff">Topic:</font>n";
print FILE "<font face="serif" size=2 color="ff0000">$theme</font></td></tr>n";
print FILE "<tr><td rowspan=2 bgcolor="D5E6E1" align=center>
<font face="serif" size=3 color="ff0000">$nick</font></td>n";
print FILE "<td bgcolor="e6e8fa" height=30>
<font face="serif" size=1 color="000080">Posted:",scalar localtime,"</font></td></tr>n";
print FILE "<tr><td bgcolor="f7f7f7"><font face="serif" size=2 color="000080">
$message</font></td></tr></table>n";
close (FILE);
} else {


#Если одно из полей формы осталось пустым-выдаем ошибку.Это делается для того,чтобы # не создавать пустые файлы,не содержащие информации.Perl′у все равно,что писать :)


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
vp>
<body bgcolor="e6e8fa">
<h4 align=center>Sorry,you didn′t enter your nick or message! </h4>
<p><center>Please,go back and try again
<p><a href="$cgi/webforum.cgi?action=newtop"><font face="ferdana" size=3>
Back</font></a>
</center>
HTML
exit;
}
}
closedir (DIR);
}


# Если все прошло нормально,выносим пользователю благодарность.Новый топик создан.


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
<p>
<body bgcolor="e6e8fa">
<h4 align=center>Thank you,<font color="0000ff">$nick!</font></h4>
<p><center>Your message is added.
<p><a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
View topics</font></a></center>
HTML
</BODY>
</HTML>
HTML



Добавление ответа на топик.

Добавление ответа почти ничем не отличается от добавления топика,единственное отличие- нужно передать адрес страницы,чтобы скрипт знал,куда писать ответ.А он содержится в файле топика.Если посмотреть чуть выше,можно увидеть ссылку <a href="$cgi/webforum.cgi?action=reply&file=$page.html">Post reply</a> В ней и передается адрес страницы.
Генерируем форму:



# Сначала читаем файл в массив.Это делается для того,чтобы поместить его во фрейм ниже формы # на тот случай,если кто-то захочет вставить цитату из предыдущих сообщений.

$page=$input {′file′};

open (FILE,"$dir/$page");
@data=<FILE>;
close (FILE);

print "Content-type:text/htmlnn";
print <<HTML;
<html><head><style>a:link {text-decoration:none; }</style></head><body>
<h4 align=center><font color="0000ff">Post reply</font></h4>
<p align=right><a href="$cgi/webforum.cgi">
<font face="ferdana" size=3>Home</font></a>
<p><form action="$cgi/webforum.cgi" name="reply" method="GET">
<table width=60% align=center bgcolor="e6e8fa">
<tr><td>
Your nick:<td>vinput type="text" name="nick" size=20>
<tr><td><input type="hidden" name="type" value="reply">
<tr><td><input type="hidden" name="action" value="ok">
<tr><td><input type="hidden" name="file" value="$page">
<tr><td colspan=2> Message:<p>
<textarea cols=40 rows=15 name="post"></textarea>
<tr><td colspan=2><input type="submit" value="Submit"></table>
<p><center><iframe src="$dir/$page" width=90% height=300></iframe></center>
HTML

#Reply to topic.

# Снова проверяем,чтобы поля формы не были пустыми. Если все в порядке,открываем файл, # содержащий топик на добавление и дописываем ответ.


if ($nick ne "" && $message ne "" ) {
open (FILE,">>$dir/$page");
print FILE "<table width=90% cellpadding=0 cellspacing=0 border=1>n";
print FILE "<tr><td rowspan=2 bgcolor="f7f7f7" align=center width=150>
<font face="serif" size=3 color="0000ff">$nick</font></td>n";
print FILE "<td bgcolor="e6e8fa" height=30><font face="serif" size=1 color="000080">
Posted:",scalar localtime,"</font></td></tr>n";
print FILE "<tr><td bgcolor="f7f7f7"><font face="serif" size=2>
$message</td></tr></table>n";
close (FILE);
close (FILE);
} else {

# Если одно из полей осталось пустым-выдаем ошибку.


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
<p>
<body bgcolor="e6e8fa">
<h4 align=center>Sorry,you didn′t enter your nick or message! </h4>
<p><center>Please,go back and try again
<p><a href="$cgi/webforum.cgi?action=reply&file=$page.html">
<font face="ferdana" size=3>Back</font></a>
</center>
HTML
exit;
}

# Снова выносим благодарность посетителю.Ответ добавлен.


print "Content-type:text/htmlnn";
print <<HTML;
<p>
<p>
<p>
<body bgcolor="e6e8fa">
<h4 align=center>Thank you,<font color="0000ff">$nick!</font></h4>
<p><center>Your message is added.
<p><a href="$cgi/webforum.cgi"><font face="ferdana" size=3>
View topics</font></a></center>
HTML
</BODY>
</HTML>
HTML



Главная страница.

Ну вот мы,наконец,добрались и до главной страницы.Она выводит список топиков,дату последнего ответа на каждый топик,количество ответов,имя создателя топика.Она заслуживает отдельного описания.

Данные на экран выводятся в виде html-таблицы.



print "Content-type:text/htmlnn";
print <<HTML;
<html><head><title>Webforum ver1.01</title>
<style>a: {text-decoration:none; } </style></head>
<body bgcolor="e6e8fa">
<p>
<p><h4 align=center><font color="0000ff">Webforum</font></h4>
<p align=right><a href="$cgi/webforum.cgi?action=newtop">
<font face="ferdana" size=3>New topic</font></a>
<p><table width=700 cellpadding=0 cellspacing=0 border=1>
<tr bgcolor="D5E6E1"><td align=center width=300 height=50>
<font face="arial" size=2 color="0000ff">Topic name</font></td>
<td align=center width=150 height=50><font face="arial" size=2 color="0000ff">
Topic starter</font></td>
<td align=center width=50 height=50>
<font face="arial" size=2 color="0000ff">Replies</font></td>
<td align=center width=200 height=50>
<font face="arial" size=2 color="0000ff">Last post</font></td></tr>
HTML

# С этим,думаю,все понятно.А теперь более подробно о том, как получить всю эту информацию. # Открываем каталог и читаем сообщения в массив.


opendir (DIR,"$dir");
while (@mes=readdir(DIR)) {
foreach $mes (@mes) {

# Каждый файл в каталоге открываем и читаем в массив.

if (!-d "$dir/$mes" && "$mes" ne "." && "$mes" ne "..") {
$mtime=localtime((stat("$dir/$mes"))[9]);

open (FILE,"$dir/$mes");
@lines=<FILE>;
close (FILE);

# Теперь в каждом файле с помощью регулярных выражений ищем тему топика,имя автора топика # и количество ответов.


foreach $line (@lines) {
if ($line=~ /<title>(.*?)</title>/is) {
$title=$1;
}
if ($line=~ /content="(.*?)"/is) {
$name=$1;
}

# Количество ответов помещаем в массив reply,отнимая единицу,так как первое сообщение-это # сообщение автора топика.


if ($line=~ /^<table(s*)(.*?)>$/i) {
$reply=$1;
push (@reply,$reply);
$char=@reply-1;
}
}

# Печатаем данные в таблицу,после каждой итерации очищая массив reply,чтобы ответы на # каждый топик не складывались после каждой итерации.


print <<HTML;
<tr bgcolor="f7f7f7"><td height=30><a href="$url/$mes">
<font face="serif" size=2>$title</font></a></td>
<td align=center height=30><font face="serif" size=2>$name</font></td>
<td height=30 align=center>$char</td>
<td height=30 align=center><font face="serif" size=2>$mtime</font></td></tr>
HTML
splice (@reply);
}
}
}

print "</table>n";
closedir (DIR);



Ну вот,вроде бы и все.

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





Добавил: MadvEXДата публикации: 2007-04-13 17:45:07
Рейтинг статьи:5.00 [Голосов 1]Кол-во просмотров: 18773

Комментарии читателей

Всего комментариев: 197

2018-06-11 15:17:18
Sergionanlef
Ваш диагноз гепатита с? Это не приговор у нас вы можете приобрести новые препараты для лечение софосбувир и дакласвир

<a href=http://evro-pharma24.ru/lekarstvo-ot-raka/866/>LuciOlap - дженерик Lynparza - Olaparib Олапариб купить</a>

<a href=http://evro-pharma24.ru/lekarstvo-ot-raka/555/>ibrance - палбоциклиб palbociclib</a>

<a href=http://evro-pharma24.ru/lekarstvo-ot-raka/551/>lynparza</a>

<a href=http://evro-pharma24.ru/lekarstvo-ot-raka/548/>ревлимид 25 мг купить</a>

2018-05-13 04:50:53
CPROSoizase
Сотрудники нашей фирмы исполняет свою деятельность в сфере оказания услуг по колсалтинг. Важнойзадачей организации несомненно является формирование результативного процесса управления, сконцентрированног на увеличиваниекапитализации объектастроительства и снижение при этом эксплуатационного бюджета Заказчика. Осуществляем консалтинг по Аутсорсинг, проектирование по Комплектацияа также занимаемся Аудитом проектных решений и консалтингом на всех этапах проектирования и строительства. Профессионализм сотрудников и определенные стандарты надлежащего качества, внедрённые в фирме, позволяют сдерживать свойство выполняемых работ на наиболее самом высоком уровне. С помощью выработанной в предприятия могучей индустриальной базе, работы на объектах выполняются производительно, а заштатные и аварийные ситуации решаются в кротчайшие сроки.


чертеж гпзу
- <a href=https://contrpro.ru/gradostroitelnyj-plan-zemelnogo-uchastka-gpzu/>гпзу на частный дом</a>

2018-05-10 01:07:38
CPROSoizase
Наша компания воплотит в жизнь свою деятельность в сфере оказания услуг по Управления объектами коммерческой недвижимости. Важнойцелью торговые фирмы несомненно считается организация действенноuj процесса управления, направленного на увеличиваниекапитализации объекта строительствастроительства и уменьшение при этом рабочего бюджета Клиента. Осуществляем консалтинг по Предпроектные исследования, проектирование по Комплектацияа также занимаемся Аудитом проектных решений и консалтингом на всех этапах проектирования и строительства. Компетентность сотрудников и введенные стандарты хорошего качества, введённые в производственной компании, позволяют поддерживать качественность предоставляемых работ на самом большом уровне. При помощи выработанной в нашей торговые компании могучей индустриальной базе, работы на объектах делаются эффективно, а заштатные и срочные ситуации решаются в кротчайшие сроки.

ГПЗУ недорого
- <a href=https://contrpro.ru/>Градостроительный план земельного участка быстро</a>

2018-05-08 04:02:07
MichaNop
помощь должникам по кредиту
В нашей многомиллионной стране количество банков превышает все разумные пределы, большая часть наших банков принадлежит иностранным компаниям и корпорациям, которым в своей стране кредитовать население под 60% годовых, никто не позволит. Наше государство и власть не собирается защищать свое население от финансового порабощения.
Принцип работы нашего государства и власти:
<a href=http://nakazhembank.ru/o-kompanii>помощь юрист договор</a>
Заработная плата рядового гражданина не должна превышать 35 тыс. рублей (при таком доходе любая нестандартная ситуация вынуждает бежать в банк за кредитом);
Поддерживать работу банковской системы на деньги налогоплательщиков, чтобы потом эти налогоплательщики страдали от действий банков;
Законодательная база регулирующая сферу кредитования.
В нашей стране закон никогда не стоит на стороне должника, так как владельцы банков как раз авторы большинства законопроектов.
Наша компания создавалась, для помощи и защиты простых обывателей от действий кредитных организаций нашей Великой страны. Мы не сотрудничаем с банками и кредитными организациями, в отличии от большинства юристов по кредиту.
Каждому обратившемуся к нам Клиенту мы гарантируем:
Выбрать оптимальную стратегию разрешения проблемы;
Оставить Ваше имущество в собственности и сберечь от описи и ареста;
Держать Вас в курсе всех событий;
Защитить Вашу честь и достоинство на всех этапах решения проблемы.

2018-05-03 10:27:17
MichaNop
помощь должникам по кредиту
В нашей многомиллионной стране количество банков превышает все разумные пределы, большая часть наших банков принадлежит иностранным компаниям и корпорациям, которым в своей стране кредитовать население под 60% годовых, никто не позволит. Наше государство и власть не собирается защищать свое население от финансового порабощения.
Принцип работы нашего государства и власти:

<a href=http://nakazhembank.ru/kontakty>Как не платить кредит</a>
Обеспечивать в стране экономическую ситуацию, при которой покупка квартиры или машины без кредита была бы невозможна;
Заработная плата рядового гражданина не должна превышать 35 тыс. рублей (при таком доходе любая нестандартная ситуация вынуждает бежать в банк за кредитом);
Поддерживать работу банковской системы на деньги налогоплательщиков, чтобы потом эти налогоплательщики страдали от действий банков;
Законодательная база регулирующая сферу кредитования.
В нашей стране закон никогда не стоит на стороне должника, так как владельцы банков как раз авторы большинства законопроектов.
Наша компания создавалась, для помощи и защиты простых обывателей от действий кредитных организаций нашей Великой страны. Мы не сотрудничаем с банками и кредитными организациями, в отличии от большинства юристов по кредиту.
Каждому обратившемуся к нам Клиенту мы гарантируем:
Выбрать оптимальную стратегию разрешения проблемы;
Оставить Ваше имущество в собственности и сберечь от описи и ареста;
Держать Вас в курсе всех событий;
Защитить Вашу честь и достоинство на всех этапах решения проблемы.

2018-04-15 15:27:47
CraigVet
п»їNumerous Considerations Of Reviewing Hair Cutting Stories

General aesthetics and beauty based processes are a major source of focus among consumers today. People often focus on making sure that all aspects of their physical appearance are as well managed and coordinated as possible at all times as part of their regiment of always looking their best and fulfilling their attractiveness preferences. Anyone focused on this particular aesthetic routine should know the common factors of reading hair cutting stories as part of their efforts.

Professionals trained in cutting hair are called upon by consumers in order to ensure that style and grooming concerns that people have are able to be addressed. Consumers that focus on this particular provider are often interested in establishing a consistent relationship to develop trust and comfort throughout their efforts. Posts created by other consumers are often among the most helpful pieces of information available when making a decision.

Consumers attempting to determine which professional to use for their efforts are often uncertain of how to make a decision. Each professional is unique in their skill sets which must be carefully focused on when ensuring the best physical appearance possible is able to be generated. Uncovering stories about the provider and process in general is much more successful when various factors are reviewed.

People should initially make sure that any information uncovered is from a reputable source. The source of the story that is being told should be on a website or forum that allows for free flowing content and uses encryption to protect personal information. Biases should also be avoided to be certain that all information received is as legitimate and personal as possible.

Searching for a specific professional is also considered as being a main source of success in this process. People are often focused on making sure that they uncover facts that are specific to providers that are closest to them or are part of a salon that they are interested in using for their needs. Consumers should have access to results filters in order to search by provider name for consolidation efforts.

People also find that focusing on the gender of the person creating the post should also be considered. Gender considerations are vital in that men and women are unique in relation to what is considered as being a successful approach to aesthetic based appeal. Focusing on specific gender matching efforts provides the best information and helps ensure that pertinent details are appropriately considered.

Any posts being considered should be equipped with some kind of illustration as to what is being discussed. People are highly unique in regard to what they deem as being great or poor quality which is why pictures are helpful in gaining a full understanding. Avoiding posts without this type of illustration is usually considered as being a best practice.

Hair cutting stories should only be considered if multiple posts are created for the provider in question. Using only one perspective is often what generates bias and can be difficult to utilize during any decision making effort. Focusing on multiple options is helpful in making sure that the most comprehensive information is ultimately considered.

Visit site: http://gameone.club/

free website submission toolstation opening times

2018-04-13 17:27:49
TVPanodamn
Завод емкостного оборудования ТВП изготавливает резервуары для очистных сооружений на собственной производственной базе в Стране. Ёмкости для очистительных сооружений, предлагаемые нашей предприятием, могут решить задачи хранения запасов жидкости и очистке стоков от загрязнений.
ТВП производит ёмкостное оборудование по вашим проектам, также мы производим емкостные резервуары и оборудования по заводским стандартам.
Очистные сооружения от ТВП это надёжное оборудование, которое производится в г.Самара и поставляется в города страны.
ТВП не только собирает промышленное оборудование на заводе, но и устанавливаем, обслуживаем, и проводим актуальную эксплуатацию емкостей.
В наличие есть емкости прямоугольные которые вы можете заказать.
Цена на аккамулирующие емкости емкости всегда зависит от объёма и остальных особенностей которые вам потребуются

паспорт очистных сооружений: <a href=https://tvpolimer.ru/>очистные сооружения казань</a>

2018-04-03 03:00:26
SVSanodamn
Задачей Предприятия Спецводсервис стало предоставление фирмам и организациям работ по сооружению, монтажу, исправлению и сопровождению технологических коммуникаций в Самаре и Самарской области. Организации СпецВодСервис оказываем как разовые услуги, например, берением скважин так и работы длительного технического поддержания систем. Ещё мы выволняем единое обслуживание абсолютно всех ремонтом скважин всех видов,относящихся фирмеи так далее. Эта услуга на текущий момент несомненно является самой популярной и выгодной для потребителя, так как полностью снимает с него несчетные трудности по поддержанию монтажа электрооборудованияв работоспособном виде. В интересах реализации своей деловой активности Международная компания Спецводсервис имеет всем нужным современным серверным оборудованием и опытным, профессиональным персоналом. Личный парк специальной техники начисляет несколько десятков единиц и систематично дополняется.
Спецводсервис занимается увеличением производствености водозаборных скважин.


Спец вод сервис : <a href=https://svs-samara.ru/skvazhiny/remont-vodozabornyh-skvazhin/>ремонт скважин вакансии</a>
Спец вод сервис : <a href=https://svs-samara.ru/skvazhiny/ochistka-vodozabornyh-skvazhin/>оборудование для очистки воды из скважины</a>

2018-03-03 17:51:53
CPROSoizase
Наша фирма Контроль проект рекомендует услуги строительство бань.Можем использовать в создании,конструирование,оформление домов,квартир,многоквартирных домов, коттеджей,танхаусов, дачных домов такие виды строительных как: дерево, газобетон, керамзитобетонных блоков, кирпич, каркасные дома.

Наша компания Контроль проект проектируем, проектируем строения и продаём возведённые проекты таунхаусов. Чертеж частного жилого помещения, разработанный нашими проектировщиками, подчеркнет вaш любимый вкус, даст комфортный стиль жизни. Мы поможем приобрести вид материала, этажность, расположение помещения на участке таким образом, затем чтобы он стал неделимым спектром с рельефом. Планировка домов и коттеджей, сделанное нашей компанией - это воплощенная в жизнь мечта. С нами работают только профи, прошедшие практику в лучших проектных бюро.

Мы фирма работаем без посредников, благодаря которым мы экономим ваши деньги и время.

Фирма осуществляет полный комплекс услуг по архитектурному проектированию и далее помощи проектов на всех стадиях - от тщательного планирования подробного задания до внесения здаваемых объектов в эксплуатацию.

ввод в эксплуатацию строительных объектов - <a href=https://contrpro.ru/vvod-v-ekspluatatsiyu-obekta/>ввод в эксплуатацию индивидуального жилого дома 2018</a>

2018-02-26 12:28:11
Luciitarowhake
<a href=http://hydratech.ru><img>https://s8.hostingkartinok.com/uploads/images/2018/02/eb0611663f84b13c53d832b080157673.jpg</img></a>

Помпагидравлическая Оборудование в проверенных ПомпагидравлическаядляводыS3TCDI84 500 и вязких жидкостей S3VHL 281 800 Руб. <br>Power Generator Manufacturer YH280- DTLS ; YH440- DTLS ; For More Information. Call us on 1300 453 054. Email us at Visit us at Factory 2, ... <br>More Ремонт Отбойного Молотка videos<br>Алмазнаярезкапроемов отверстий Бесплатные объявления Казани прорезка проемов в стенах и перекрытиях из бетона, ... Казань, 878 ... <br><h4>Демонтажжелезобетонных конструкций: цена </h4><br><strong>HD2004hydraulicdrifter-EURODRILLGermany </strong><br><strong>Разновидности электрических гайковёртов </strong><br>hyconhpp09- наиболее гидравлический отбойный молоток, : <u>БензиноваяГидравлическаяСтанцияHyconHpp09 </u><br>Водяныенасосы: Рразновидности насосов высокого Водяныенасосы высокого давления. Вода считается источником жизни. Но, увы, центральное водоснабжение есть не в каждом частном секторе или дачном поселке. <br> http://hydratech.ru/info/services - погружной насос для агрессивных сред купить арендаотбойногомолотка- Доска объявлений от частных В 1 500 руб. Предложение доставка инструмента Москва, М. О. 500 руб. <br>Гидравлические отбойные молоткииперфораторы — купить Погружной гидравлический насос. Гидравлические отбойные молоткииперфораторы. ООО «Контурс-СДМ» специализируется на поставках профессионального оборудованияиинструмента для строительных, ремонтныхидемонтажных работ. <br><i>Мотопомпы Насосы и принадлежности </i><br>
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Как вы относитесь к AJAX?
Считаю это ЗЛОМ
11% (12)
Бесполезная технология
2% (2)
Мне параллельно
9% (10)
Неплохая технология
20% (23)
Рулез, как я без нее жил!
7% (8)
Я разработчик AJAX-приложений
5% (6)
А что? Хороший футбольный клуб!
12% (14)
Я в танке!!!
34% (38)

Проголосовало: 113
Два компьютершика спорят:
- Можно ли научить "комп" заикаться?
- Да ты что никогда!
Второй:
- Берет магнит и начинает водить возле винчестера!
В итоге получается песня Расторгуева+Леонидов: "Давай за баранку держись, давай брат шофер до конца"...
Рейтинг: 5.7/10 (3)
Посмотреть все анекдоты