[!] Используем start.exe для запуска любых прог на Перле

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

[!] Используем start.exe для запуска любых прог на Перле

Сообщение piroJOKE »

Добавлено позже: дальше мутно и непонятно описаны две задачи.
Остановимся на главной. Нам надо запустить перловский скрипт, но на компе нет АктивПерла. Зато есть ОпенКора с ее "бортовым" интерпретатором Перла! Так можно ли запустить любой скрипт? Да! Можно! - см. ниже.

* * *

=head SHIT

Читаю я стало быть книжечку про Перл но кое-што мине не понятно.
Поясните кто чем может!
Вот такая чудесная программа (это я иё напесал):

=cut

$jopa{'big'}{'fat'} = "omfg"; # делаем 1 эл-т хеша
if ($jopa{'big'}) {print "fuck\n";} # если другой эл-т существует, печатаем об этом
print %jopa."\n$jopa{'big'}\n"; # пичатаем хеш, пичатаем несуществующий элемент


=head MORESHIT

Што оно делоет:
c:\>zzz.pl
fuck <--- эл-т существует?! какого хера?!
1/8 <--- мля что это ваще такое?!...
HASH(0x2251c0) <--- гхм, а как от такого избавиццо?

=cut

=head OFFTOP1

А я вот што-та не понял, если у нас start.exe - это маленький интерпретатор Перла,
так можно ли, не имея на машине скажем ActivePerl, но имея OpenKore, так штоб
воспользоваться OpenKore-овским интерпретатором и запустить какую-то левую
программу на Перле, вместо самой OpenKore?

=cut
Последний раз редактировалось piroJOKE Пн мар 17, 2008 4:57 pm, всего редактировалось 2 раза.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
1) Ты принудительно перл заставил видеть манеправильно переменную. Вообще-то тебе не должно было давать такой код вообще запустить.
2) Нормально. Ты получил хеш, указатель. Всё в порядке вещей.

на щёт интерпретатора. Моно но Я не пробовал И вообще ПДБ рулёз.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

/me, в сторону: после КМ надо спецального периводчика шоб понять о чем речь.

- Начнем с конца. Что такое ПДБ? PDK што ли?
- Да, я вижу что я получил хеш, а на кой хер он мне нужен? Я ожидал получить пустую переменную!
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE писал(а):/me, в сторону: после КМ надо спецального периводчика шоб понять о чем речь.

- Начнем с конца. Что такое ПДБ? PDK што ли?
- Да, я вижу что я получил хеш, а на кой хер он мне нужен? Я ожидал получить пустую переменную!
- Уху. ПДК, сорь очепятка. ПДБ в их фирменном девелопере зделаном на основе мозилы.
- ХЕШ ты получил потому что ты запросил саму переменную а не ячейку в ней. ТЕ Перл весь пашет на основе ХЕШЕЙ переменных (фишка такая). Ты например можеш хеш (адрес) переменной передать как ссылку в другую переменную (в её ячейку).
В другом случае ты получил интерпетацию той переменной на которую указывает корневой хеш той самой переменной.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Ура! Решение найдено!

Итак, положим нам надо запустить перловский скрипт c:\temp\zzzz.pl

Пишем:

start.exe ! c:\temp\zzzz.pl

Всё! :twisted:

ЗЫ: Обнаружилось это на примере запуска Посейдоныча: viewtopic.php?p=49003#49003

Добавлено спустя 6 минут 57 секунд:

ЗЗЫ: Кстати, теперь любой желающий сможет сам выдернуть поля из клиента скриптом \fields\tools\gat2fld.pl
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Ответить