שגיאות תחביר בזמן הידור#
שגיאות שהמפענח מעלה לפני שהתוכנית רצה. שגיאת זמן הידור עוצרת את כל התוכנית: דבר אינו מתבצע, משום שלא ניתן היה להפוך את המקור ל־ops ברי־הרצה. בשונה מ־dieים בזמן ריצה, אלה אינם ניתנים ללכידה עם eval BLOCK - אך eval של מחרוזת מקור שנכשלת בהידור מדווח עליהן דרך $@:
my $code = '1 +';
eval $code;
warn "compile failed: $@" if $@;
פתרון תת־שגרות בזמן הידור#
`Undefined subroutine &%s`#
(F) המפענח פתר קריאה אל תת־שגרה בעלת שם שאינה קיימת בזמן הידור. זוהי המקבילה בזמן הידור לשגיאת זמן הריצה Undefined subroutine &%s called: ההבדל הוא מתי תת־השגרה החסרה מבחינים בה. ודאו שהמודול המגדיר נכלל באמצעות use, ושהשם מאוית נכון ומוסמך במלואו במקום שבו החבילה חשובה.
ראו גם#
שגיאות קטלניות כלליות - הצורה בזמן ריצה של שגיאת תת־השגרה הלא־מוגדרת.
תת־שגרות - הצהרה, פרוטוטיפים, והכללים שמכריעים מתי קריאה נפתרת.
use- מושך פנימה את המודול שמגדיר את תת־השגרה, בזמן הידור.