The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"интересная задача для любителей Perl"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"интересная задача для любителей Perl"
Сообщение от gelezny emailИскать по авторуВ закладки on 13-Авг-02, 16:52  (MSK)
Задали тут мне задачку разрешить :)

нужно получить текст запущенного скрипта без использования функций открытия файла как перловых так и шеловских.

я так понимаю что это можно вытащить либо через память, либо через внутренние переменные интерпретатора.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: интересная задача для любителей Perl"
Сообщение от sector119 emailИскать по авторуВ закладки on 15-Авг-02, 16:53  (MSK)
[sector119@mars test]$ cat test.pl
#!/usr/bin/perl

undef $/; print <>;
[sector119@mars test]$ ./test.pl test.pl
#!/usr/bin/perl

undef $/; print <>;
[sector119@mars test]$

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: интересная задача для любителей Perl"
Сообщение от gelezny emailИскать по авторуВ закладки on 15-Авг-02, 17:01  (MSK)
>[sector119@mars test]$ cat test.pl
>#!/usr/bin/perl
>
>undef $/; print <>;
>[sector119@mars test]$ ./test.pl test.pl
>#!/usr/bin/perl
>
>undef $/; print <>;
>[sector119@mars test]$

немного не то :)
тут вариант типа:
print<<''x2,"\n"
print<<''x2,"\n"

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: интересная задача для любителей Perl"
Сообщение от sector119 emailИскать по авторуВ закладки on 15-Авг-02, 17:23  (MSK)
>немного не то :)

почему не то? делает ведь то что надо! :)

>тут вариант типа:
>print<<''x2,"\n"
>print<<''x2,"\n"

не понял :) что ты имел ввиду под этим кодом :)) можно розжевать? :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: интересная задача для любителей Perl"
Сообщение от gelezny emailИскать по авторуВ закладки on 15-Авг-02, 17:40  (MSK)
>>немного не то :)
>
>почему не то? делает ведь то что надо! :)
логично :)
>
>>тут вариант типа:
>>print<<''x2,"\n"
>>print<<''x2,"\n"
>
>не понял :) что ты имел ввиду под этим кодом :)) можно
>розжевать? :)
если честно то я сам не до конца понимаю...
этот вопрос мне задали на интервью по поводу новой работы.
текст задачи я сформулировал выше
цельный день ковырялся и понял для себя одну простую вещь
что такого без гемороя сделать нельзя
либо исходники перла переписывать, либо дамп памяти делать и байт-код разбирать
честно признался что не смог решить задачку
и вот ответ приветденный выше от задававших

хотя получаеться что сам-то код не выполняеться а просто выводить посредством оператора принт
вот пойди их и пойми :)))
в другом форум мне подсказали другое решение (я уже кое-где его применил)
perl -MO=Deparse "script.pl"
это уровень проверки синтакси с показам тела скрипта

но сама задачка меня чуть цепанула и я пока ковыряюсь дальше

знаю точно что из документированных внутренних переменных интерпритатора выдрать текст исполняемого скрипта нельзя, но нутром чувствую что какая-то лазейка есть

вот

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: интересная задача для любителей Perl"
Сообщение от sector119 emailИскать по авторуВ закладки on 15-Авг-02, 17:54  (MSK)
помоему мой пример наймение гиморный и главное рабочий, при выполнении всех поставленных условий :) хотя может я так и не понял что конкретно они хотели :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: интересная задача для любителей Perl"
Сообщение от 1 Искать по авторуВ закладки on 22-Авг-02, 12:43  (MSK)
$the_script = '
print "I am the script :)";
exit 0;
';

print "$the_script\n";
eval($the_script);

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: интересная задача для любителей Perl"
Сообщение от 1 Искать по авторуВ закладки on 23-Авг-02, 12:56  (MSK)
а так по идее нельзя полностью себя напечатать при выполнении, используя только строку типа #!/usr/bin/perl в начале и не использую функций открытия файла...
это как барон Мюнхаузен должен себя за волосы вытащить....
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: интересная задача для любителей Perl"
Сообщение от sector119 emailИскать по авторуВ закладки on 23-Авг-02, 17:49  (MSK)
>а так по идее нельзя полностью себя напечатать при выполнении, используя только
>строку типа #!/usr/bin/perl в начале и не использую функций открытия файла...
>
>это как барон Мюнхаузен должен себя за волосы вытащить....

вот как барон Мюнхаузен вытягивает себя за мошонку :)))

[sector119@mars test]$ cat test.pl
#!/usr/bin/perl
seek DATA, 0, SEEK_SET;
print while <DATA>;
__DATA__

[sector119@mars test]$ test.pl
#!/usr/bin/perl
seek DATA, 0, SEEK_SET;
print while <DATA>;
__DATA__

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: интересная задача для любителей Perl"
Сообщение от 1 Искать по авторуВ закладки on 25-Авг-02, 13:21  (MSK)
браво барон, ваша машонка достойна восхищения :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: интересная задача для любителей Perl"
Сообщение от gvf Искать по авторуВ закладки on 27-Авг-02, 20:22  (MSK)
>браво барон, ваша машонка достойна восхищения :)

простите, что влезаю, просто заметка на полях
нахер такую работу где задают такие задачки на конкурсе

им шашечки или ехать?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "RE: интересная задача для любителей Perl"
Сообщение от gelezny emailИскать по авторуВ закладки on 28-Авг-02, 10:49  (MSK)
>простите, что влезаю, просто заметка на полях
>нахер такую работу где задают такие задачки на конкурсе
>
>им шашечки или ехать?
Вы знаете я тоже так решил :)
Хотя некоторые ответу были потешными
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру