Кіріспе

Perl құжаттамасының таңбалау тілі (Plain Old Documentation) — Perl бағдарламалау тілін, сондай-ақ Perl модульдері мен бағдарламаларын құжаттау үшін қолданылатын жеңіл таңбалау тілі.

Қолдану

Pod – Perl әлеміндегі көптеген құжаттамалар үшін қолданылатын тіл. Бұл Perl-дің өзіне, дерлік барлық ашыққа шығарылған модульдерге, көптеген скрипттерге, көпшілік дизайн құжаттарына, Perl туралы көптеген мақалаларға, .com және басқа Perl-ге қатысты веб-сайттарға, сондай-ақ Parrot виртуалды машинасына қатысты. Pod көбінесе өңдеу құралының көмегінсіз оқылмайды, бірақ ол пішімдеу құралынсыз оқуға ыңғайлы. Оның орнына, ол perldoc құралымен оқылады немесе Unix man беттеріне немесе Web стандартты HTML беттеріне түрлендіріледі. Pod-ты Perl-ден басқа жағдайларда да қолдануға болады. Мысалы, bash скрипттеріне қарапайым құжаттама қосу үшін, оларды кейіннен man беттеріне оңай түрлендіруге болады. Мұндай қолданыстар POD бөлігін жасыру үшін тілге тән тәсілдерге сүйенеді, мысалы (bash-та) POD бөлімін :<<=cut жолымен алдын ала қою, бұл bash-тың операциясыз : командасын шақыру арқылы жұмыс істейді, Pod-тың толық блогы оған кіріс дерегі ретінде беріледі. Таза pod файлдары әдетте .pod кеңейтімімен сақталады, бірақ pod көбінесе тікелей Perl кодында қолданылады, ол әдетте .pl және .pm кеңейтімдерін пайдаланады. (Perl интерпретаторының анализаторы Perl кодындағы pod-ты назарға алмайды.) Бастапқы код файлдарында құжаттама әдетте END белгісінен кейін орналастырылады (бұл кейбір редакторларда оны түсініктеме ретінде көрсету үшін синтаксистің ерекшеленуіне көмектеседі). Pod-ты басқа форматтарға оңай түрлендіруге болады, мысалы, WikiWikiWeb, Kwiki, TWiki, UseModWiki, TiddlyWiki, Textile, MediaWiki, MoinMoin немесе Confluence сияқты әртүрлі Wiki форматтарына Pod::Simple::Wiki арқылы.

Мысал

Бұл құжат синтаксистік тұрғыдан дұрыс, сонымен қатар бөлімдерді атаудың қалыпты талаптарын сақтауға тырысады.

Пішімдеу егжей-тегжейі

Pod файлдары ASCII-ға үйлесімді кодтауларда, мысалы, Latin 1 немесе UTF 8 форматында жазылады. Pod талдағышы (parser) әрқашан өңделіп жатқан файлдың pod сөзімен басталмайтынын болжайды; ол pod директивасын кездестіргенге дейін барлық жолдарды назардан тыс қалдырады. Pod директивалары жолдың басында орналасуы керек және барлығы тең белгімен (=) басталады. Pod талдағышы содан кейін барлық келесі жолдарды pod ретінде қарастырады, "=cut" директивасынан тұратын жолға дейін. Осыдан кейінгі кез келген мазмұн, талдағыш тағы бір pod директивасын кездестіргенге дейін елемей қалады. Осылайша, pod тілдің талдағышы pod-ты қалай тану керектігін және назардан тыс қалдыру керектігін білсе, орындалатын кодпен араластырылуы мүмкін. Pod мазмұны бос жолдар арқылы абзастарға бөлінеді. Бос орын (пробел) немесе табуляция таңбаларымен басталатын абзастар "әдеби абзастар" деп есептеледі және толығымен өзгеріссіз қалдырылады; олар мысал кодтары, ASCII графикасы және т.б. үшін қолданылады. Тең белгісімен басталатын абзастар "команда абзастары" болып табылады; тең белгісінен кейін тікелей келетін әріптік-сандық символдар тізбегі pod директивасы ретінде қарастырылады, ал абзастың қалған бөлігі осы директиваға сәйкес пішімделеді. Кейбір директивалар келесі абзастарға да әсер етеді. Егер абзац тең белгісінен немесе бос орыннан басқа нәрсемен басталса, ол "қалыпты абзац" деп саналады. Қалыпты абзастар мен команда абзастарының мазмұны пішімдеу кодтарын табу үшін талданады. Pod-тағы пішімдеу өте қарапайым; ол негізінен қалың, көлбеу, сызылған, моноширінді және басқа да бірнеше пішімдермен шектеледі. Сондай-ақ, pod құжаттары арасында немесе бір құжаттың ішіндегі басқа бөлімге сілтеме жасауға мүмкіндік беретін код бар. Пішімдеу кодтары мынадай болып келеді:

* Бір үлкен әріп, одан кейін кіші белгі (<), пішімделуі керек мазмұн және үлкен белгі (>), мысалы, B<қалың мәтін>, немесе
* Бір үлкен әріп, екі немесе одан көп кіші белгілер (<<), бос орын, пішімделуі керек мазмұн, тағы бір бос орын және бұрын қолданылған кіші белгілердің санымен тең үлкен белгілер, мысалы, B<<қалың мәтін>>. Бұл форма көбінесе үлкен белгіні қамтитын код фрагменттері үшін қолданылады, әйтпесе пішімдеу коды осы белгімен аяқталар еді. Pod-тағы командалар төрт деңгейлі тақырыптарды, тізімдерді (маркерленген және нөмірленген) және бөлімдерді басқа тілде деп белгілеуге арналған командаларды қамтиды. Соңғы мүмкіндік оны қолдайтын талдағыштарға арнайы пішімдеуді беруге мүмкіндік береді.