Sự khác biệt giữa [email protected]
và $!
trong Perl là gì? Lỗi được liên kết với eval
được xuất ra bằng cách sử dụng [email protected]
. $!
cũng được sử dụng để ghi lại lỗi. Vậy sự khác nhau giữa hai người là gì?
Trả lời
Từ perldoc perlvar:
Các biến
[email protected]
,$!
,$^E
, và$?
chứa thông tin về các loại khác nhau của điều kiện lỗi có thể xuất hiện trong quá trình thực hiện một chương trình Perl. Các biến được hiển thị theo thứ tự "khoảng cách" giữa hệ thống con báo cáo lỗi và quy trình Perl. Chúng tương ứng với các lỗi được phát hiện bởi trình thông dịch Perl, thư viện C, hệ điều hành hoặc một chương trình bên ngoài tương ứng.
$!
được đặt khi cuộc gọi hệ thống không thành công.
open my $fh, '<', '/foobarbaz' or die $!
Điều này sẽ chết xuất ra "Không có tệp hoặc thư mục như vậy".
[email protected]
chứa đối số được chuyển đến die
. Do đó:
eval {
open my $fh, '<', '/foobarbaz' or die $!
};
if ([email protected]) {
warn "Caught exception: [email protected]";
}
Nó làm cho không có ý nghĩa để kiểm tra [email protected]
mà không sử dụng một số hình thức eval
và nó làm cho không cảm nhận để kiểm tra $!
khi bạn đã không được gọi là một chức năng mà có thể thiết lập nó trong trường hợp của một lỗi.
- 1. Sự khác biệt giữa. và #
- 2. Sự khác biệt giữa $ (...) và `...`
- 3. Sự khác biệt giữa = và: =
- 4. Sự khác biệt giữa $ * và $ @
- 5. Sự khác biệt giữa ". +" Và ". +?"
- 6. Sự khác biệt giữa "**/* /" và "** /"?
- 7. Sự khác biệt giữa '.' và "." trong java
- 8. Sự khác biệt giữa. và: trong Lua
- 9. sự khác biệt giữa 'và "trong JavaScript?
- 10. Sự khác biệt giữa! và !! trong yaml?
- 11. Sự khác nhau giữa 'eq' và '= ~' trong Perl là gì?
- 12. Sự khác nhau giữa "||" là gì và "hoặc" trong Perl?
- 13. Sự khác biệt giữa hệ thống và đường sau và đường ống trong Perl là gì?
- 14. Sự khác nhau giữa & chức năng và function() trong perl
- 15. Sự khác biệt giữa SwingWorker và SwingUtilities.invokeLater
- 16. Sự khác biệt giữa fgets và fscanf?
- 17. Sự khác biệt giữa self.navigationController.navigationItem và self.navigationItem
- 18. sự khác biệt giữa $ .getJSON và $ .get
- 19. Sự khác biệt giữa WebApiConfig.cs và RouteConfig.cs
- 20. Sự khác biệt giữa __construct() và init()
- 21. Sự khác biệt giữa RASPHONE.exe và RASDIAL.exe
- 22. Sự khác biệt giữa viewbag và viewstate?
- 23. sự khác biệt giữa query.list và query.iterate
- 24. Sự khác biệt giữa Window.load và document.readyState
- 25. Sự khác biệt giữa URL và URI?
- 26. Sự khác biệt giữa Z3 và coq
- 27. Sự khác biệt giữa textMultiLine và textLongMessage
- 28. Sự khác biệt giữa modelAttribute và commandName
- 29. Sự khác biệt giữa idl và odl
- 30. Sự khác biệt giữa MKCoordinateSpan và CLLocationCoordinate2D