Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
1

Ошибка в скрипте.

17.06.2011, 09:49. Просмотров 731. Ответов 3
Метки нет (Все метки)

Написал скрипт не могу понять в чём дело не запускаеться((((( Появляеться консоль и сразу исчезает! Помогите пожалуйста.
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/env perl
 
use strict;
use IO::Socket;
 
sub winToDos {
        $_ = $_[0];
        tr/\300-\377\250\270/\200-\257\340-\361/;
        return $_;
}
 
 
my $port = 8080;
# Создаем сокет
socket(SOCK, PF_INET,SOCK_STREAM, getprotobyname('tcp')) or die ("Ошибка №1!");
setsockopt(SOCK, SOL_SOCKET, SO_REUSEADDR, 1);
 
# Связываем сокет с портом
my $paddr = sockaddr_in($port, INADDR_ANY);
bind(SOCK, $paddr) or die("Ошибка №2!");
 
# Ждем подключений клиентов
 
print winToDos("Я жду соединения...\n");
 
listen(SOCK, SOMAXCONN);
while (my $client_addr = accept(CLIENT, SOCK)){
# Получаем адрес клиента
my ($client_port, $client_ip) = sockaddr_in($client_addr);
my $client_ipnum = inet_ntoa($client_ip);
my $client_host = gethostbyaddr($client_ip, AF_INET);
print winToDos("!!\n");
# Принимаем данные от клиента
my $data;
my $count = sysread(CLIENT, $data, 1024);
print winToDos("Мы получили ${count} байт от ${client_host} [${client_ipnum}]\n");
print $data;
 
# Отправляем данные клиенту
frazes($date);
 
 
 
# Закрываем соединение
 
close(CLIENT);
}
 
sub frazes() {
#Английский Привет! 
 
$hello=$_ eq 'hello';
$Hello2=$_ eq 'Hello';
$Hello3=$_ eq 'HELLO';
#end
 
#Rus hello!
$Hellor=$_ eq 'Привет';
$hellor2=$_ eq 'привет';
$Hellor3=$_ eq 'ПРИВЕТ';
#end
 
#Kak dela rus!
$Kakrw=$_ eq 'Как дела?';
$kakrw2=$_ eq 'как дела?';
$Kakrw3=$_ eq 'КАК ДЕЛА?';
if ($hello=1 or $Hello2=1 or $Hello3=1) {
 print CLIENT "Hi!";
 }
 
 if ($Hellor=1 or $hellor2=1 or $Hellor3=1) {
 print CLIENT "Ну привет, привет!";
 }
 
 if ($Kakrw=1 or $kakrw2=1 or $Kakrw3=1) {
    print CLIENT "Отлично, а у тебя как ?";
    }
    
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2011, 09:49
Ответы с готовыми решениями:

Поиск ошибки в скрипте
Доброго времени суток! Имеется скрипт, который частично работает корректно, а частично нет....

Error 500 в тестовом скрипте
вот текст скрипта index.pl #!/usr/bin/perl print "Content-type: text/html\n\n" print...

Нет проверки на ошибку в скрипте
на странице делаю коннект с БД. use CGI::Carp qw(fatalsToBrowser);# вначале указываю это ...

Как найти ошибку в perl скрипте?
После изменений скрипт перестал работать, завершается после запуска. Включены strict и warnings....

3
4 / 4 / 1
Регистрация: 02.07.2011
Сообщений: 41
03.07.2011, 18:24 2
Попробуйте поиграться с портами.

Например, попробуйте соединяться через 80 или 443 порт (если планируется создавать оффлайновое приложение. Да и онлайн-приложение тоже нормально работать будет через 80 порт, а 443 файерволы не всегда блокируют).
0
13183 / 6571 / 1039
Регистрация: 10.01.2008
Сообщений: 15,069
03.07.2011, 18:28 3
Цитата Сообщение от c4boomb Посмотреть сообщение
Perl
1
#!/usr/bin/env perl
Возможно, Вы имели ввиду: ?
Perl
1
#!/usr/bin/env/perl
0
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
04.07.2011, 09:01  [ТС] 4
уже решил дело не в портах и не в #!/usr/bin/env/perl
надо исп не $_ а переменную shift.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2011, 09:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как в перл скрипте прочитать возвращаемое значение?
У меня в форме используются radiobutton, как в перл скрипте прочитать возвращаемое значение? И еще...

Как получить, из запушего мною с скрипте, процесса переменную?
Тоеть хочу в исполняемом скрипте запучтить процес и при завершение процесу вернуть в скрипт...

Если в перловом скрипте перед сабжем стоят другие принты , то редиректа не происходит
Я заметил следующую вещь : если в перловом скрипте перед сабжем стоят другие принты , то...

ошибка в скрипте
скрипт с github после установки вылезла ошибка You have an error in your SQL syntax; check...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.