Я работаю над сценарием для программы VoIP Freeswitch. Сценарий будет работать как экземпляр, прослушивающий входящие сообщения в сокет.
Для начала я использовал пример сценария, поставляемый с Freeswitch, и все работает нормально.
Однако один момент меня сбивает с толку.
use IO::Socket::INET;
use warnings;
use strict;
my $sock = new IO::Socket::INET ( LocalHost => '127.0.0.1', LocalPort => '8060', Proto => 'tcp', Listen => 1, Reuse => 1 );
die "Could not create socket: $!\n" unless $sock;
for(;;) {
my $new_sock = $sock->accept();
my $pid = fork();
if ($pid) {
close($new_sock);
next;
}
close($new_sock);
}
Что именно означает ;;
? Это специальный оператор, который определяется при создании сокета? Пытаюсь найти документы!
for (;;) { ... }
,while () { ... }
и ,while (1) { ... }
одинаково компилируются в бесконечный цикл. С другой стороны,{ ... }
компилируется в цикл, который выполняется только один раз. Вы можете использоватьnext
,last
иredo
с этими петлями (даже{ ... }
), как и со всеми другими петлями. - person ikegami   schedule 13.04.2014loop { ... }
, что делает то же самое. - person ikegami   schedule 13.04.2014