Επιλογές CLI#

Το pperl δέχεται ένα μικρό σύνολο σημαιών γραμμής εντολών. Οι περισσότερες είναι συμβατές με το perl· λίγες είναι ειδικές για το pperl (JIT, παραλληλισμός, επιλογή runtime, cache bytecode). Η αυθεντική λίστα είναι ό,τι τυπώνει το pperl --help· οι παρακάτω πίνακες δείχνουν αυτές τις σημαίες, εξαγμένες από τον πηγαίο κώδικα του διερμηνευτή και αποτυπωμένες εδώ σε κάθε χτίσιμο της τεκμηρίωσης.

Σημείωση

Η πραγματική έξοδος του pperl --help στο τερματικό είναι πάντα στα Αγγλικά — το εκτελέσιμο δεν τοπικοποιεί τα μηνύματα βοήθειας. Η μεταφρασμένη τεκμηρίωση παρουσιάζει τις ίδιες σημαίες με περιγραφές στη γλώσσα της σελίδας, ώστε οι αναγνώστες να μελετήσουν τι κάνει η καθεμία· τα ίδια τα ονόματα των σημαιών (-T, --pp, --threads=N, …) μένουν πάντα αυτούσια.

PetaPerl - Περιβάλλον εκτέλεσης Perl 5 νέας γενιάς

Χρήση#

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

Επιλογές συμβατές με το Perl#

Σημαία

Περιγραφή

-e 'code'

Εκτέλεση μονόγραμμου (τα σύγχρονα χαρακτηριστικά είναι πάντα ενεργοποιημένα)

-Idirectory

Προσθέτει τον κατάλογο στην αρχή του @INC

-c

Έλεγχος μόνο της σύνταξης, χωρίς εκτέλεση

-w

Ενεργοποίηση προειδοποιήσεων

-T

Λειτουργία taint (επιβεβλημένη· μόνο στο runtime p5 — προειδοποιεί υπό –pp)

-t

Προειδοποιήσεις taint (μόνο στο runtime p5 — προειδοποιεί υπό –pp)

-v

Εμφάνιση πληροφοριών έκδοσης

-V

Εμφάνιση αναλυτικής διαμόρφωσης

-h, -?, --help

Εμφάνιση αυτού του μηνύματος βοήθειας

Επιλογές ειδικές για το pperl#

Σημαία

Περιγραφή

--from-json, -j

Ανάγνωση δέντρου ops από το stdin (μορφή B::PetaPerl JSON)

--optree, -o

Ανάγνωση δέντρου ops από το stdin (μορφή B::Concise)

--stats, -s

Εμφάνιση στατιστικών απόδοσης (χρόνος, μνήμη, ops)

--trace

Ενεργοποίηση ιχνηλασίας εκτέλεσης (σημ.: το βραχύ -t είναι το taint-warn του perl5)

--timeout=SECS

Ορισμός χρονικού ορίου εκτέλεσης σε δευτερόλεπτα (προεπιλογή: κανένα)

--dump-optree

Εκτύπωση του κανονικού δέντρου ops (χωρίς εκτέλεση)

--compare-bytecode

Σύγκριση δέντρων ops: backend perl5 έναντι εγγενούς αναλυτή

--cache

Ενεργοποίηση προσωρινής αποθήκευσης bytecode (~/.pperl/cache/)

--flush

Εκκαθάριση όλων των cache bytecode και έξοδος

Επιλογές runtime#

Σημαία

Περιγραφή

--pp

Χρήση του runtime pp (εγγενής αναλυτής + διερμηνευτής σε Rust)

--p5

(προεπιλογή) Χρήση του αυτοτελούς runtime p5

--no-jit

Απενεργοποίηση μεταγλώττισης JIT (ενεργή από προεπιλογή)

--no-parallel

Απενεργοποίηση αυτόματης παραλληλοποίησης (ενεργή από προεπιλογή)

--threads=N

Αριθμός νημάτων (προεπιλογή: όλες οι CPU)

--parallel-threshold=N

Ελάχιστος αριθμός επαναλήψεων για παραλληλοποίηση (προεπιλογή: 100)

Παραδείγματα#

pperl script.pl

Εκτέλεση ενός σεναρίου Perl

pperl -e 'say "Hello!"'

Εκτέλεση μονόγραμμου (τα 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

Ζεύγη Όνομα/έκδοση διαχωρισμένα με κόμμα για κάθε εγγενές άρθρωμα

PPERL_RUNTIMES

Διαχωρισμένα με κόμμα τα ενσωματωμένα runtimes (p5, pp ή και τα δύο)

PPERL_SHELL

Παραλλαγή ενσωμάτωσης shell (κενή εάν το χαρακτηριστικό shell είναι απενεργοποιημένο)

PPERL_STATIC

yes εάν το εκτελέσιμο είναι στατικά συνδεδεμένο με musl, αλλιώς no

Εκτελέστε pperl -V για να δείτε όλες τις τιμές για το τρέχον εκτελέσιμο.

Πότε να χρησιμοποιείται το --pp#

Το προεπιλεγμένο runtime p5 είναι ο διερμηνευτής με πλήρη χαρακτηριστικά: όλα τα αρθρώματα διαθέσιμα, JIT ενεργοποιημένο, λειτουργία taint λειτουργική. Το --pp επιλέγει το εγγενώς γραμμένο σε Rust runtime pp — γρηγορότερη εκκίνηση, μικρότερο εκτελέσιμο, αλλά με στενότερο σύνολο αρθρωμάτων και χωρίς JIT. Επιλέξτε το --pp για αναπτύξεις τύπου miniperl ή όταν το συγκεκριμένο άρθρωμα που χρειάζεστε είναι διαθέσιμο σε αυτό (δείτε το σήμα του runtime pp στις σελίδες των αρθρωμάτων).