Некоторые сведения о Perl 5/Встроенные функции: различия между версиями

Содержимое удалено Содержимое добавлено
{{BookCat}}
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 4:
 
Функция <code>die</code> вызывает ''исключение.'' В случае, если исключение ''не перехвачено'' (например, функцией <code>eval</code>), оно приведет к ''аварийному завершению'' текущей Perl-программы. Например:
<sourcesyntaxhighlight lang="perl">
my $points = throw_dice ()
or die ("Out of luck");
</syntaxhighlight>
</source>
 
Функция <code>eval</code> выполняет ''блок,'' перехватывая исключения. Результат функции <code>eval</code> — результат последнего вычисленного выражения. Особая переменная <code>$EVAL_ERROR</code> (<code>$@</code>) устанавливается в пустую строку при успешном завершении блока, или же содержит перехваченное исключение в противном случае.<ref name="var.EVAL_ERROR" >https://metacpan.org/pod/perlvar#EVAL_ERROR</ref> Например:
<sourcesyntaxhighlight lang="perl">
print (eval { 42; }, "\n");
## → 42␤
Строка 18:
print ($EVAL_ERROR, "\n");
## → Oops!␤␤
</syntaxhighlight>
</source>
 
Функция <code>exit</code> позволяет завершить текущий ''процесс'' (как правило: Perl-программу), указав числовой ''код завершения'' (по-умолчанию: <code>0</code>.) Обычные соглашения трактуют код завершения <code>0</code> как ''успех,'' любой другой код означает ошибку исполнения. Обычно, для аварийного завершения программы имеет смысл применять функцию <code>die</code>.
Строка 50:
 
Функция <code>print</code> (равнозначна ''методу'' <code>print</code> для объектов класса <code>IO::Handle</code><ref name="IO::Handle" >https://metacpan.org/pod/IO::Handle</ref>) последовательно выводит аргументы в указанный поток (по-умолчанию: на [[w:Стандартные потоки|стандартный вывод]]), разделяя их ''разделителем полей'' <code>$OFS</code> (<code>$OUTPUT_FIELD_SEPARATOR</code>, <code>$,</code>; по-умолчанию: пустая строка) и завершая вывод ''разделителем записей'' <code>$ORS</code> (<code>$OUTPUT_RECORD_SEPARATOR</code>, <code>$\</code>; по-умолчанию: пустая строка.)<ref name="var.fh" >https://metacpan.org/pod/perlvar#Variables-related-to-filehandles</ref> Например:
<sourcesyntaxhighlight lang="perl">
use English;
my ($a, @ll)
Строка 58:
print (qw (Mary had), $a, @ll);
## → Mary had a little lamb␤
</syntaxhighlight>
</source>
 
Функция <code>warn</code> предназначена для вывода ''предупреждений.'' Управлять их обработкой можно поместив ''ссылку'' на нужную функцию в элемент <code>__WARN__</code> особой таблицы <code>%SIG</code><ref name="var.SIG" >https://metacpan.org/pod/perlvar#SIG</ref>; по-умолчанию, предупреждение будет выведено на ''стандартный поток ошибок'' подобно функции <code>die</code>. (В отличие от последней, <code>warn</code> не приводит, разумеется, к аварийному завершению кода.) Например:
<sourcesyntaxhighlight lang="perl">
warn ("It makes me worry\n");
## (STDERR) → It makes me worry␤
</syntaxhighlight>
</source>
 
== Ссылки ==