2013-11-26 1 views
1

Что происходит, когда я набираю perl и нажимаю ввод в терминал?Что происходит, когда я печатаю perl и нажимаю enter в терминале?

Я только что сделал, и ничего не произошло, но что происходит за шторами?

Если я нахожу python, я вхожу в мир Трона, но не при вводе perl или, может быть, в ближайшее время меня будут окружать кентавры и сатиры. Я обновлю, если буду.

+1

Счастливый взгляд на кентавров и сатиров ;-) – Alfe

+0

Да, я слышал, как кто-то говорил в коридоре ... может быть, это был лев? – AWE

ответ

8

Оболочка вы в интерпретирует строку введенную вами (выполняет замены и т.д.), а затем выполняет полученную команду. Чтобы узнать, что он будет выполнять, я предлагаю использовать type perl. Это покажет вам, интерпретирует ли оболочка это как псевдоним, функцию оболочки или прямую команду где-то в $PATH.

В вашем случае, я предполагаю, что он выполнит /usr/bin/perl.

Эта программа затем будет ждать (довольно тихо) для ввода. Perl не так разговорчив, как Python, потому что он не предназначен для интерактивного использования.

Но тогда вы можете ввести print 5, нажмите Enter, а затем Ctrl-d (последнее означает «конец файла»). Затем вы, вероятно, увидите напечатанную 5, и perl закончит (из-за EOF).

+5

'__END__' обладает таким же эффектом, как' Ctrl-D' в таких ситуациях – Zaid

3

Perl интерпретатор ожидает программу со стандартного ввода,

perl 
print 11; # hit <Ctrl+D> 
11  # program executed 
Смежные вопросы