2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Проблема с Perl. Азы.
Сообщение15.11.2009, 14:40 


14/11/09
26
Доброго времени суток, уважаемые участники форума.
Опишу ситуацию - имеется файлик с простенькой программкой, написанной на языке Perl. OS Windows XP.
Дело в том, что при попытке ее запуска с помощью perl.exe - на какие-то доли секунды выскакивает черное окошко и тут же пропадает.
Вопрос - как прописать задержку в самой программе? То есть нужен сам код задержки для программы на Perl.
И правильно ли запускать программу с помощью perl.exe? Я что-то слышал про командную строку, но к сожалению ничего конкретного.
Заранее благодарю.

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 14:48 
Основатель
Аватара пользователя


11/05/05
4312
Ну вы всегда можете сперва запустить cmd.exe, внутри него выполнить ваш скрипт.
А можно так, как написано тут http://forums.devshed.com/perl-programm ... 58206.html попробовать сделать.

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 16:25 
Заслуженный участник


09/08/09
3438
С.Петербург
Работать с Perl удобнее из командной строки. Для этого можно, как уже написал cepesh, просто запустить cmd.exe, а можно установить Far Manager.

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 17:31 


14/11/09
26
Спасибо за советы, буду пробовать.

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 19:23 


14/11/09
26
Через командную строку нормально идет)
Это получается, что в данном случае мы видим в командной строке работу интерпретатора Perl?

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 20:23 


14/11/09
26
Ну на прошлый вопрос ответ то очевиден, это я так, мысли вслух)
А вот скажите, можно ли задать кодировку в perl - скрипте? И как это сделать?
Если сохранить в Unicod, то вообще выдает ошибку. В UTF8 очень жестокие символы. В ANSI текст умудряется вывестись как набор русских букв.

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 20:36 
Основатель
Аватара пользователя


11/05/05
4312
Вопрос не ясен. Как любой текстовый файл вы можете сохранить скрипт в кодировке UTF-8. Если у вас возникают ошибки, то приведите текст программы и текст ошибки, а также строку для запуска.

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 20:39 
Заслуженный участник


09/08/09
3438
С.Петербург
cepesh в сообщении #262375 писал(а):
Если у вас возникают ошибки, то приведите текст программы и текст ошибки, а также строку для запуска.
А также точную версию Perl, которой Вы пользуетесь (вывести можно командой 'perl -version').

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 21:07 


14/11/09
26
Ок.
Сама версия Perl - 5.6.1.631 (а где надо писать perl -version? - посмотрел версию, наведя мышку на экзешник)

Программка элементарная (пример из лабораторной)

Код:
#!/usr/bin/perl
$year = 2001;
$cost = "\$37";
$message = "В $year году книга стоила $cost";
print $message;


Будучи сохраненной в ANSI - выводит следующее:

Код:
C:\perl>primer.pl
┬ 2001 уюфє ъэшур ёЄюшыр $37


Если сохранить файлик в UTF8, то выдает:
Код:
C:\perl>primer.pl
╨Т 2001 ╨│╨╛╨┤╤Г ╨║╨╜╨╕╨│╨░ ╤Б╤В╨╛╨╕╨╗╨░ $37

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение15.11.2009, 23:50 
Заслуженный участник


09/08/09
3438
С.Петербург
И где же ошибки? Это ваш message в кодировке ANSI и UTF-8, выведенный на консоль, для которой выставлена кодировка OEM.
Сохраните результат работы программы в файл, набрав в командной строке
Код:
perl primer.pl > a.txt
а потом откройте a.txt в notepad - всё будет нормально.
Или сохраните программу в кодировке OEM (cp 866).

 Профиль  
                  
 
 Re: Проблема с Perl. Азы.
Сообщение17.11.2009, 01:12 


14/11/09
26
Спасибо большое, но сегодня на паре решение пришло само)
Я вспомнил про команду chcp, задающую кодировку командной строки.
chcp 1251 - и проблема исчезла)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group