Я запускаю ActiveState Perl 5.10.1 в Windows XP.Perl 'hello world' не работает, когда присутствует строка shebang (Windows)
Следующая программа выполняет, но не производит никакого вывода в командной строке:
#!c:/perl/bin/perl.exe
use strict;
use warnings;
print "foo\n";
Если удалить притон линию, я получаю «Foo», показанный как выход, как и ожидалось.
я получаю тот же результат, если я исполню используя ассоциации файлов только (foo.pl
), ссылки на Perl через PATH (perl foo.pl
) или даже непосредственно со ссылкой на PERL исполняемый (c:\perl\bin\perl.exe foo.pl
).
Я не понимаю, почему сценарий работает без линии shebang, но я не получаю выход, когда присутствует строка shebang. Я понимаю, что строка Shebang не является абсолютно необходимой для Perl в Windows, но считается хорошей практикой, если вы хотите использовать такие переключатели, как -w
...
Не имеет значения, если я явно сделаю дескриптор STDOUT, т.е. print STDOUT "foo\n";
Это сводит меня с ума; любые советы будут оценены.
70 (предположительно байты) – GainfulShrimp
ok, правильные окончания строк для Windows. – ikegami
Я сомневаюсь, что это будет иметь значение, но можете ли вы добавить недостающую новую строку в конце и повторить попытку? – ikegami