Тривиальный вопрос о встроенных индикаторах ошибок Perl $! и $ @. Как они отличаются друг от друга и что лучше для целей каротажа?
ответ
У них совершенно разные цели. Что вы должны регистрировать, зависит от того, что не удалось. (И не забудьте также $?).
Прочитайте документацию по адресу http://perldoc.perl.org/perlvar.html#Error-Variables.
$!
устанавливается системными вызовами при ошибке. Он соответствует переменной C errno
.
[email protected]
: eval EXPR
и eval BLOCK
. Он содержит исключенное пойманное исключение.
$?
устанавливается waitpid
, system
и close
(при закрытии ручки открыт с open '-|'
или open '|-'
). Он содержит информацию о завершенном процессе.
Большинство модулей генерируют исключения при ошибке, но некоторые устанавливают свои собственные переменные ошибки (например, DBI, Text :: CSV_XS).
Соответствующая переменная для журнала зависит от того, что вы регистрируете.
Например, system
сообщает об ошибках через $?
и $!
.
system(...);
die("Unable to execute child: $!\n") if $? < 0;
die("Child killed by signal ".($? & 0x7F)."\n") if $? & 0x7F;
die("Child exited with error ".($? >> 8)."\n") if $? >> 8;
- 1. Встроенные переменные в Ext.XTemplate
- 2. Встроенные переменные capistrano
- 3. Встроенные переменные скрипта bash
- 4. Почему не встроенные переменные?
- 5. Как переопределить встроенные функции Perl?
- 6. Как форматировать встроенные переменные бритвы
- 7. клинка :: compileString() и встроенные переменные
- 8. Встроенные переменные кристалла в шаблонах
- 9. Moose Perl Vs oop Perl?
- 10. Статические переменные Vs переменные приложения
- 11. Переменные класса Vs Переменные метода
- 12. Perl переменные порядок исполнения
- 13. Переменные класса Perl
- 14. Perl и переменные окружения
- 15. Динамические переменные в Perl
- 16. perl csv данные, встроенные в скрипт
- 17. Perl встроенные функции как ссылка подпрограммы
- 18. C# встроенные аргументы функции и временные переменные
- 19. Встроенные переменные в JS скрипт для Haml
- 20. МЕНЬШИЕ переменные, встроенные в @import или напрямую?
- 21. Встроенные переменные экземпляра в Ruby 1.9?
- 22. Добавить встроенные переменные в теорию xUnit
- 23. Java тройной (встроенные) операторы: экранный Comparation переменные
- 24. Как использовать встроенные переменные в .bat-файле?
- 25. Жидкостные переменные Jekyll как встроенные значения CSS
- 26. Perl Vs Ultraedit сценариев
- 27. Perl CGI vs FastCGI
- 28. Perl% {$ var} vs% $ var
- 29. cpan vs -MCPAN - Perl
- 30. JavaScript VS Perl Script
Это разные вещи. 'perldoc perlvar' для получения дополнительной информации. Используйте любую информацию, которая вам понадобится (мы не можем догадаться, что это может быть). –