- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
#!/usr/bin/perl
# Fetch all JS from govno
use strict;
use warnings FATAL => 'all';
use LWP;
my $res = LWP::UserAgent->new->request(HTTP::Request->new("GET" => "http://govnokod.xyz/"));
die "Failed: " . $res->code unless $res->is_success;
for (split /\n/, $res->content) {
print if /<script/ ... /script>/ and !m/[<>]/;
}
перл
Первоначальный вопрос про что? Какие начальные условия?
Соснольный скрипт на "РНР" выглядит следующим образом
И, по идее, "PHP" всё, что находится до тега, должен был бы высрать на экран. Но он в данном случае делает исключение ТОЛЬКО для первой строки ТОЛЬКО начинающейся на "#!". Так что скрипт вида
выведет на экран только "#! azaza"
Именно поэтому я за "PHP".
В «FastCGI» и в апачевском модуле может не получиться, нужно проверять.
* cli -- скипает шебанк
* cgi -- какого-то хуя настраивается в небезызвестном PHP.IИI https://www.php.net/manual/ru/ini.core.php#ini.cgi.check-shebang-line
* остальные -- не обрабатывают шебанг.
(могу ошибаться, лишь бегло почитал исходники)
и оно будет работать. Как Гвидо додумался туда пихать док-блоки - питух его знает...
То ли дело руби с его
Мало того, что сам по себе уёбский многобуквенный синтаксис, так еще это говно не работает, если в начале поставить пробел. Больше ни у кого такого уебанства нет, наверное.
huj = [[
pizda
]]
«Баш» извлекает из строки, начинающейся на #! имя интерпретатора, передаёт ему все аргументы, которые были переданы оригинальному файлу, а стандартные потоки ввода-вывода (stdin, stdout, stderr) наследуются так же, как и при запуске из bat-файла.
Задача со звёздочкой: придумать скрипт-полиглот, который в «Windows» можно запустить как bat-файл, чтобы он вызвал интерпретатор другого скриптового языка, и чтобы этот интерпретатор исполнил его без ошибки.
Мне как пользователю «Windows» это непривычно. В «Windows» есть CreateProcess, который умеет запускать экзешники и больше ничего, и есть ShellExecute, который умеет сканировать ассоциации файлов в реестре и запускать интерпретатор. Я уже смирился с тем, что для автоматизации нужен лишний слой.
Атрибут есть такой в никсах у файлов, которые можно запускать. Если атрибут сброшен, то процесс создастся от имени того, кто запустил. Если атрибут установлен, то процесс создастся от имени владельца файла (если владелец root, то программа получит право распидорасить систему).