* Zapusk interpretatora Pel *
perl [klyuchi] fajl argumenty
Pered startom Pel ishchet skript (programmu) v sleduyushchem poryadke:
1. V komandnoj stroke esli ukazan klyuch '-e'
2. Soderzhimoe fajla ukazannogo v komandnoj stroke. V pervoj
stroke mozhno ukazyvat' #!/usr/bin/perl dlya "avtomaticheskogo"
zapuska skripta.
3. Standartnyj vvod/vyvod esli ne ukazan fajl ili argumenty
soderzhashchie imya fajla. Dlya peredachi argumentov skriptu iz
standartnogo potoka imya fajla v komandnoj stroke oboznachaetsya
simvolom '-'.
V metodah 1 i 2 Pel skaniruet stroki nachinaya s pervoj esli ne
ukazan klyuch '-x', v protivnom sluchae nachalom programmy schitaetsya
stroka s simvolami '#!' v nachale i soderzhashchaya slovo 'perl'.
Koncom programmy schitaetsya stroka '__END__'.
V stroke s '#!' mozhno ukazyvat' i klyuchi. Naprimer '#!/bin/perl -d'
dlya otladki programm.
Posle "obnaruzheniya" skripta Pel kompiliruet ego celikom vo vnutrennee
predstavlenie. Esli obnaruzhivayutsya oshibki to vypolnenie prekrashchaetsya.
Esli oshibok net on vypolnyaetsya. Esli skript zakanchivaetsya bez
komand exit() ili die() to po umolchaniyu vypolnyaetsya komanda exit(0)
oboznachayushchaya normal'noe zavershenie programmy.
Kod simvola-razdelitelya zapisej. Po umolchaniyu \0.
Vklyuchaet rezhim avtomaticheskogo razdeleniya (split) peremennoj $_
v massiv $F. Primenyaetsya s klyuchami -n i -p.
Vypolnyaetsya sintaksicheskaya proverka skripta i vyhod bez zapuska.
Zapusk v rezhime interaktivnoj otladki.
Ustanovit' flagi otladki Pel. Naprimer -d14 prosledit'
kak Pel ispolnyaet vashu programmu.
1 p Sintaksicheskij razbor
2 s Sostoyanie steka
4 l Sostoyanie steka imen
8 t Trassirovka ispolneniya
16 o Sozdanie operatora uzla
32 c Strokovoe/chislovoe preobrazovanie
64 p Vyvod komandy preprocessora dlya -P
128 m Raspredelenie pamyati
256 f Obrabotka formata
512 r Sintaksicheskij razbor regulyarnyh vyrazhenij
1024 x Damp sintaksicheskogo dereva
2048 u Proverka zashchity
4096 L "Utechka" pamyati
8192 H Damp hesha
16384 X Raspredelenie scratchpad
32768 D Ochistka
Vypolnenie skripta iz odnoj stroki ukazannogo v komandnoj stroke.
Ukazyvaet shablon razdeleniya v rezhime raboty s klyuchom -a
Primenyaetsya dlya rezervnoj kopii fajla obrabatyvaemogo operatorom '<>'.
Original hranitsya v fajle s tem zhe imenem chto i ishodnyj, no s
ukazannym rasshireniem.
Primer:
perl -p -i.old -e "s/ryadovoj/efrejtor/" file
- Pomenyat' vse slova "ryadovoj" na "efrejtor" v fajle file
a original zapisat' v fajle file.old
Direktoriya includ- fajlov dlya S preprocessora. Primenyaetsya s klyuchom -P
po umolchaniyu eto /usr/include i /usr/lib/perl.
Avtomaticheskaya obrabotka simvola konca stroki. Rabotaet v dvuh sluchayah.
1. Otbrasyvaet poslednij simvol chitaemyh strok dlya rezhimov -n i -p
2. Prisvaivaet ukazannoe znachenie peremennoj $\. Takim obrazom
k koncu kazhdoj stroki vyvodimoj operatorom print dobavlyaetsya etot simvol.
Zaciklivaet skript i posledovatel'no obrabatyvaet fajly ukazannye
v komandnoj stroke. Pozvolyaet sozdavat' komandy podobnye sed ili awk.
Operatory BEGIN i END dayut vozmozhnost' delat' nachal'nye i konechnye
ustanovki. Soderzhimoe fajlov ne vyvoditsya.
To zhe chto i -n no pechataet obrabatyvaemye stroki fajlov.
Predvaritel'naya obrabotko preprocessorom yazyka S. Bud'te vnimatel'ny
i ne primenyajte v kommentariyah slova 'if', 'else' ili 'define'
t.k. eto komandy S - preprocessora.
Vklyuchenie rezhima obrabotki klyuchej komandnoj stroki zapuska skripta.
Vse argumenty s simvolom '-' v nachale, schitayutsya klyuchom i peremennym
s takim zhe imenem prisvaivaetsya znachenie true.
Ispol'zovanie sistemnoj peremennoj PATH dlya poiska skripta.
Dannyj klyuch primenyaetsya v sistemah ne vosprinimayushchih posledovatel'nost'
"#!" v nachale skripta dlya ukazaniya interpretatora.
Rezhim proverki "dyr" v zashchite. Obychno eto nuzhno dlya programm
rabotayushchih v rezhime povyshennoj privelegii (setuid, setguid).
ZHelatel'no dlya CGI skriptov.
Prinuditel'nyj damp pamyati posle kompilyacii skripta. |tot damp
mozhno potom ispol'zovat' dlya sozdaniya ispolnyaemogo fajla s
pomoshch'yu programmy undump.
Razreshenie vypolnyat' opasnye operacii. Naprimer steret' direktoriyu
ili vypolnyat' yavno ne zakrytuyu programmu.
Vyvod nomera versii Pel.
Vyvod imen peremennyh ispol'zuemyh tol'ko odin raz, imen skalyarov
ispol'zuemyh do ih opredeleniya, imen pereopredelyaemyh podprogramm,
ssylok na neopredelennyj ukazateli fajlov, popytok zapisi v fajly
otkrytyh tol'ko na "chtenie", upotreblenie ne koretnyh zapisej chisel,
ispol'zovanie massivov kak skalyarov, rekursiya bolee 100 urovnej.
Rezhim zapuska skripta vstavlennogo v fajl soderzhashchij
obychnyj tekst. Nachalom skripta schitaestsya stroka s simvolami '#!'
v nachale i soderzhashchiya slovo perl. Koncom - stroka s '__END__'
Ukazannaya direktoriya stanovitsya tekushchej v moment ispolneniya.
Esli neobhodimo chitat' posleduyushchie stroki to eto luchshe delat'
cherez ukazatel' fajla DATA.
Last-modified: Thu, 24 Apr 1997 18:05:20 GMT