Страница 1 из 1

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

Добавлено: Сб мар 31, 2007 10:05 am
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

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

на щёт интерпретатора. Моно но Я не пробовал И вообще ПДБ рулёз.

Добавлено: Сб мар 31, 2007 1:14 pm
piroJOKE
/me, в сторону: после КМ надо спецального периводчика шоб понять о чем речь.

- Начнем с конца. Что такое ПДБ? PDK што ли?
- Да, я вижу что я получил хеш, а на кой хер он мне нужен? Я ожидал получить пустую переменную!

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

- Начнем с конца. Что такое ПДБ? PDK што ли?
- Да, я вижу что я получил хеш, а на кой хер он мне нужен? Я ожидал получить пустую переменную!
- Уху. ПДК, сорь очепятка. ПДБ в их фирменном девелопере зделаном на основе мозилы.
- ХЕШ ты получил потому что ты запросил саму переменную а не ячейку в ней. ТЕ Перл весь пашет на основе ХЕШЕЙ переменных (фишка такая). Ты например можеш хеш (адрес) переменной передать как ссылку в другую переменную (в её ячейку).
В другом случае ты получил интерпетацию той переменной на которую указывает корневой хеш той самой переменной.

Добавлено: Пн мар 17, 2008 4:55 pm
piroJOKE
Ура! Решение найдено!

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

Пишем:

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

Всё! :twisted:

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

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

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