В документах perl можно прочитать:
Синтаксический анализ #! Переключатели запускаются везде, где в строке указано «perl». Последовательности "- *" и "-" специально игнорируются, так что вы можете, если бы вы были так склонны, сказать
#!/bin/sh
#! -*-perl-*-
eval 'exec perl -x -wS $0 ${1+"$@"}'
if 0; to let Perl see the -p switch.
, чтобы позволить Perl увидеть ключ -p.
Я запутался в комментарии. Строка "- - perl - -" находится внутри комментария, и shebang уже проанализирован. Если я напишу:
!/bin/sh
#! -*-python-*-
print 1
Это не сработает. Кроме того, эти последовательности всегда игнорируются? Означает ли это, что это что-то похожее на '/ bin / sh - perl'? Это терпит неудачу на терминале.
Тогда это также упоминает ключ "-p". Но в коде нет переключателя p.