Возможно ли получить текущий номер строки источника в Perl? Эквивалент в C++ - __LINE__
.Как напечатать номер строки источника в Perl?
ответ
print "File: ", __FILE__, " Line: ", __LINE__, "\n";
или
warn("foo");
предупреждение будет печатать на STDERR. – mat
__LINE__ буквальным описана в Special Literals разделе perldata man page.
Примечание есть глюк с
PERL -e'warn ("Foo")»
обув на -е линии 1.
, если она заканчивается символом новой строки он не будет печать номер строки
Perl -e'warn ("Foo \ п")»
Foo
Это отражено в «perldoc -f умереть», но, возможно, легко пропустить в «perldoc -f предупредит» справочный раздел, чтобы умереть ...
Это выводит строку, где вы находитесь, а также «стек» (список строк из программ вызовов (скрипты/модули/и т.д.), которые приводят к тому месту, вы теперь)
while(my @where=caller($frame++)) { print "$frame:" . join(",",@where) . "\n"; }
«использовать Карп» и играть с различными рутин и вы также получите стек - не уверен, что этот способ лучше или хуже, чем метод «вызывающего», предложенный cnd. Я использовал переменные LINE и FILE (и, возможно, другие аналогичные переменные) в C и Perl, чтобы показать, где я попал в код и другую информацию при отладке, но не имел большого значения вне среды отладки.
- 1. Как напечатать номер строки, содержащей определенный номер?
- 2. Как напечатать номер строки в coffeescript?
- 3. Как напечатать номер строки сценария в IronPython?
- 4. Как напечатать строки, соответствующие шаблону в Perl?
- 5. Как напечатать номер строки с каждой согласованной линией?
- 6. Как напечатать номер строки каждой строки в строке?
- 7. Как извлечь номер из строки в Perl?
- 8. Perl oneliner: напечатать первые строки в файле
- 9. Awk - как напечатать номер?
- 10. Как напечатать номер строки в mysql в приложении PHP
- 11. Bash напечатать номер некорректной строки файла
- 12. Как напечатать абсолютный номер строки в неперехваченном исключении?
- 13. Как напечатать нулевой номер строки, вызвавший исключение в Java
- 14. Как напечатать номер в середине строки с определенным форматом?
- 15. Как напечатать соответствующую строку и следующие три строки в Perl?
- 16. Как напечатать строки после регулярного выражения в Perl?
- 17. Как напечатать очень длинный номер?
- 18. Как напечатать класс символов Perl?
- 19. Perl: Как напечатать массив хешей,
- 20. CocoaLumberjack in Swift, как напечатать номер строки и имя filne
- 21. Как напечатать номер стартовой строки с помощью java
- 22. Как проверить номер в perl?
- 23. Perl: преобразовать строку в массив и номер строки печати
- 24. как напечатать номер в треугольном паттерне
- 25. Как напечатать номер из массива в сканере
- 26. Как напечатать номер в сборке 8086?
- 27. Как напечатать номер и «*» сочетание в Java
- 28. Как напечатать номер в сборке ARM?
- 29. Невозможно выяснить, как напечатать номер в MASM32
- 30. как напечатать номер треугольника в Java
Мне интересно: зачем вам это нужно? –
Я использовал его, чтобы быстро отслеживать прогресс через очень длительный процесс и проверять, что все делается, как точки останова, но без использования отладчика. –
@LeonTimmermans: Я отвечаю на ваш очень старый комментарий о том, почему Perl программист может захотеть _ _FILE_ _ и _ _ LINE _ _. В принципе, те же причины, по которым может понадобиться программист C/C++. Например. сегодня я реорганизовал тест, чтобы в подпрограмме вызывается Test :: Differences :: eq_or_diff. Номер строки был указан в подпрограмме, в которой не была вызвана подпрограмма. Добавление __ LINE __ в тестовое имя помогает мне найти неудачный тест. Теперь, если бы я мог написать макрос CODE_LOCATION в Perl5. –