אפשרויות CLI#

pperl מקבל קבוצה קטנה של דגלי שורת פקודה. רובם תואמי perl; מקצתם ייחודיים ל־pperl (JIT, הקבלה, בחירת סביבת ריצה, מטמון bytecode). הרשימה הקובעת היא מה ש־pperl --help מדפיס; הטבלאות שלהלן מציגות את הדגלים האלה, החולצו ממקור המפרש ומוצגים כאן בכל בנייה של התיעוד.

הערה

פלט pperl --help בפועל בטרמינל הוא תמיד באנגלית — הקובץ הבינארי אינו מתרגם את מחרוזות העזרה. התיעוד המתורגם מציג את אותם דגלים עם תיאורים בשפת העמוד כדי שהקוראים יוכלו לעיין בתפקיד של כל דגל; אסימוני הדגלים (-T, --pp, --threads=N, …) נשמרים תמיד כפי שהם.

PetaPerl - סביבת ריצה של Perl 5 מהדור הבא

שימוש#

pperl [OPTIONS] [--] [SCRIPT [ARGS...]]
pperl -e 'code'

אפשרויות תואמות Perl#

דגל

תיאור

-e 'code'

מבצע one-liner (תכונות מודרניות מופעלות תמיד)

-Idirectory

מוסיף תיקייה לתחילת @INC

-c

בדיקת תחביר בלבד, לא מריץ

-w

הפעלת אזהרות

-T

מצב taint (מאולץ; בסביבת ריצה p5 בלבד — מציג אזהרה תחת –pp)

-t

אזהרות taint (בסביבת ריצה p5 בלבד — מציג אזהרה תחת –pp)

-v

הצגת מידע על הגרסה

-V

הצגת תצורה מפורטת

-h, -?, --help

הצגת הודעת עזרה זו

אפשרויות ייחודיות ל־pperl#

דגל

תיאור

--from-json, -j

קריאת op tree מ־stdin (פורמט JSON של B::PetaPerl)

--optree, -o

קריאת op tree מ־stdin (פורמט B::Concise)

--stats, -s

הצגת סטטיסטיקת ביצועים (זמן, זיכרון, ops)

--trace

הפעלת מעקב ביצוע (לתשומת לב: ‎-t‎ הקצר הוא taint-warn של perl5)

--timeout=SECS

קביעת timeout לביצוע בשניות (ברירת מחדל: ללא)

--dump-optree

הדפסת op tree קנונית (לא מריץ)

--compare-bytecode

השוואת op trees: backend של perl5 מול המנתח המקורי

--cache

הפעלת מטמון bytecode (~/.pperl/cache/)

--flush

ניקוי כל מטמוני ה־bytecode ויציאה

אפשרויות סביבת ריצה#

דגל

תיאור

--pp

שימוש בסביבת ריצה pp (מנתח תחביר ומפרש מקוריים ב־Rust)

--p5

(ברירת מחדל) שימוש בסביבת ריצה p5 העצמאית

--no-jit

השבתת קומפילציית JIT (פעיל כברירת מחדל)

--no-parallel

השבתת הקבלה אוטומטית (פעיל כברירת מחדל)

--threads=N

מספר ה־threads (ברירת מחדל: כל ה־CPU)

--parallel-threshold=N

מינימום איטרציות להקבלה (ברירת מחדל: 100)

דוגמאות#

pperl script.pl

הרצת סקריפט Perl

pperl -e 'say "Hello!"'

הרצת one-liner (say, state וכו« זמינים תמיד)

pperl -c script.pl

בדיקת תחביר הסקריפט ללא הרצה

pperl script.pl arg1 arg2

העברת ארגומנטים לסקריפט (@ARGV)

למידע נוסף, ראו: https://gl.petatech.eu/petatech/peta-perl

משתני סביבה#

pperl מגדיר מספר משתני סביבה בתוך התהליך שהוא מריץ, כדי שסקריפטים יוכלו לבחון את המפרש הפועל:

משתנה

משמעות

PPERL

מחרוזת גרסה (זהה ל־pperl -v)

PPERL_FEATURES

רשימת תכונות Cargo משולבות, מופרדות בפסיקים

PPERL_MODS

זוגות Name/version מופרדים בפסיקים, לכל מודול מקורי

PPERL_RUNTIMES

סביבות ריצה משולבות, מופרדות בפסיקים (p5, pp, או שתיהן)

PPERL_SHELL

טעם של אינטגרציית shell (ריק אם תכונת shell כבויה)

PPERL_STATIC

yes אם הקובץ הבינארי קושר באופן סטטי עם musl, אחרת no

יש להריץ pperl -V כדי לראות את כל הערכים עבור הקובץ הבינארי הנוכחי.

מתי להשתמש ב־--pp#

סביבת הריצה p5 המוגדרת כברירת מחדל היא המפרש מלא־התכונות: כל מודול זמין, JIT מופעל, מצב taint תפקודי. --pp בוחר את סביבת הריצה pp המקורית ב־Rust — אתחול מהיר יותר, קובץ בינארי קטן יותר, אך עם קבוצת מודולים מצומצמת יותר וללא JIT. יש לבחור --pp עבור פריסות בסגנון miniperl או כאשר המודול הספציפי הנדרש זמין בה (ראו את התג של סביבת ריצה pp בעמודי המודולים).