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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программ через ActiveState, Окно выполнения программы закрывается 
V
    Опции темы
MDM
Дата 7.4.2008, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 16.3.2007
Где: г. Нальчик

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



Я работаю в ос Windows.
После установки ActiveState у меня все файлы с расширением *.pl ассоциировались с ним!
Теперь при запуске любого файла *.pl открывается командная строка ActiveState, т. е. не нужно открываеть программу через командную строку DOS. Это очень удобно!
Например, запускаем такую программу:
Код

#! C:\Perl\bin\Perl.exe

$Ch = <STDIN>;
print "$Ch \n";

При открытии мы любое значение:
Код

$Ch = <STDIN>;

А когда должен вывестись результат:
Код

print "$Ch \n";

ком. строка сразу закрывается, и я не успеваю его посмотреть.

Можно ли сделать так, чтобы она не закрывалась?
PM ICQ Skype   Вверх
shamber
Дата 7.4.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



MDM, возьмите и в конце допишите 
Код

    $Ch = <STDIN>;

тогда, пока вы не нажмете enter, окно не закроется smile если ошибок не будет

з.ы. запускайте из под cmd.exe ;) 

Это сообщение отредактировал(а) shamber - 7.4.2008, 09:57
PM MAIL Jabber   Вверх
MDM
Дата 7.4.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 16.3.2007
Где: г. Нальчик

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



Я тоже думал о таком варианте, это как FIX... 
Может есть стандартное решение проблемы?

Это сообщение отредактировал(а) MDM - 7.4.2008, 15:06
PM ICQ Skype   Вверх
KSURi
Дата 7.4.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Запускать скрипт из cmd.exe, как уже написал shamber.

Пуск -> Выполнить -> cmd / Windows+R -> cmd

Это сообщение отредактировал(а) KSURi - 7.4.2008, 15:55


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
MDM
Дата 7.4.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 16.3.2007
Где: г. Нальчик

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



Через cmd нужно писать: cd.. потом опять cd.. , снова cd Perl, потом название программы вбивать... А мы ведь программисты ленивые...
А там просто тыкнул 2 раза, она тебе запустилась...

Вот на Basic помню тоже такая проблема существует, и для неё в настройках есть для этого стандартное решение (конкретно, не помню уже). 

Мне нужно решение проблемы не для cmd, а для командной строки от ActiveState!

user posted image
PM ICQ Skype   Вверх
Itsys
Дата 7.4.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Командной строки от ActiveState не существует!!! Все запуски всеравно идут через интерпретатор DOS виндовса. Чтобы не надо было все время набирать cd cd cd пропиши путь к папке со скриптами в переменную окружения PATH, так что открываешь cmd и набираешь test.pl<enter>, например, и должен быть показан результат работы программы test, которая лежит

Это сообщение отредактировал(а) Itsys - 7.4.2008, 17:06
PM MAIL WWW Skype   Вверх
KSURi
Дата 7.4.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Командная строка от ActiveState - это что-то новенькое...

Можно не вбивать cd .. "пицот" раз, а сделать это один раз, помогая себе кнопкой Tab


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
tolkien
Дата 7.4.2008, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Можно. Добавь в конец скрипта строчки

print "\n";
system "pause";



Это сообщение отредактировал(а) tolkien - 7.4.2008, 17:22
PM MAIL   Вверх
KSURi
Дата 7.4.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



tolkien, а чем это отличается от варианта shamber?


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
GoDleSS
Дата 7.4.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

#!perl
$|=1; #Отключаем буфферизацию вывода
END { sleep(10); } #В самом конце выполения ждем 10 секунд до завершения

...код скрипта...

--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
tolkien
Дата 7.4.2008, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



->KSURi
Тем что ненадо отдельно запускать cmd и в нем скрипт. Только один скрипт. Получаешь окно с результатом и со строчкой в конце нажмите какую нибудь клавишу. Нажимаешь клавишу и окно исчезает. Очень просто, красиво и удобно. 

->GoDleSS 
Неудачно решение. Усыпить процесс чтобы посмотреть на результат.  Сам попробуй его в действии увидишь как это стремно посмотреть результат и ждать пока процесс проснется. Или его ручками убивать.
PM MAIL   Вверх
KSURi
Дата 7.4.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



tolkien, вы невнимательно читали shamber'a. Перечитайте его первый пост и попробуй снова)


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
GoDleSS
Дата 7.4.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(tolkien @  7.4.2008,  15:45 Найти цитируемый пост)
Неудачно решение. Усыпить процесс чтобы посмотреть на результат.  Сам попробуй его в действии увидишь как это стремно посмотреть результат и ждать пока процесс проснется. Или его ручками убивать.

tolkien, это еще одна альтернатива и многие ее используют, в том числе и я. Ничего сложного в нажатие ctrl+c или другой "сигнальной" комбинации для завершения не вижу.
--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
tolkien
Дата 7.4.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



KURSI->
на пробел гораздо удобнее нажимать чем тянуться к enter

GoDleSS->
...
PM MAIL   Вверх
nitr
Дата 7.4.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



ага, а можно просто
Код
...
<>


Как вариант в Windows =)
Создаём в нашей директории (где перл.ехе) C:\Perl\bin
файл starter.bat, содержимое:
Код

@echo off
@perl %1 %*
@pause


Затем открываем "Мой компьютер", в меню Сервис->Свойства папки... находим вкладку "Типы файлов".
Ищем PL. Жмём кнопку "Дополнительно". Там будет действие Open, жмём Изменить
Вводим в пункт "Приложение, исполняющее действие:"
"C:\Perl\bin\starter.bat" "%1" %*

Везде жмём ОК smile И проверяем ;)


--------------------
PM   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


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

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


 




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


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

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