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, Супермодераторы



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

Сейчас этот форум просматривают: Facebook External Hit [crawler]


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

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