[첫화면으로]Perl/POD

마지막으로 [b]

변경사항 (가장 최근의 "다른 사용자에 의한 수정"부터) (일반적인 수정, 소소한 수정)

-351,6 +351,127
== # perlpodstyle 정리 ==
Perldoc:perlpodstyle 문서 정리
일반적인 얘기:
* 문서에 해당하는 프로그램 이름은 볼드<code>B<></code>로.
* 프로그램 옵션들도 볼드로.
* 인자는 이탤릭으로. <code>I<></code>
* 함수 이름은 이탤릭으로. 또는 function()과 같은 형태로 쓰면 Pod::Man이 처리해 줌
* 다른 맨페이지 참조는 <code>L<manpage(section)</code>
* 모듈 문서는 <code>L<Module::name></code>
* 맨페이지가 없는 프로그램 참조는 <code>B<></code>로.
* 최상위 헤더는 <code>=head1</code>. 헤더명은 전부 대문자.
* 하위 헤더는 <code>=head2</code>, 대소문자 섞어서.
표준 섹션들:
* NAME
** 필수. 프로그램 이름들은 컴마로 구분. 이름과 설명 사이에는 대쉬 하나. 마크업 쓰지 말 것. 함수 이름에 ()쓰지 말 것. man 프로그램이 대쉬를 탭으로 바꿔 출력하더라도 전체가 한 줄에 출력될 수 있게 길이 조절.
{{{#!vim
    foo, bar - programs to do something
}}}
* SYNOPSIS
** 사용법 요약. Perl 모듈 문서의 경우 verbatim 블럭으로, 모듈을 사용하는 전형적인 예문 몇 개를 보여 줌
* DESCRIPTION
** 자세한 설명, 토의
** 분량이 길면 서브섹션으로 나눔
{{{#!vim perl
=head2 Normal Usage
=head2 Advanced Features
=head2 Writing Configuration Files
}}}
** 모듈의 경우, 모듈이 제공하는 인터페이스의 설명을 <code>=item</code>을 써서 리스트로.
** 인터페이스의 수가 많다면 METHODS, FUNCTIONS, CLASS METHODS, or INSTANCE METHODS 등으로 나누고 DESCRIPTION에서는 개요만 보일 수도.
* OPTIONS
** 커맨드 라인 옵션에 대한 자세한 설명
** 보통은 각 옵션을 <code>=item</code>로 구분하여 설명
** 옵션 스트링은 <code>B<></code>로. 옵션에 들어가는 값은 <code>I<></code>로.
** 동의어 옵션은 동일한 item에 컴마 다음 한 칸 띄어 적음. 짧은 걸 앞에 적는 걸 권장
{{{#!vim perl
=item B<--section>=I<manext>
=item B<-s> I<manext>, B<--section>=I<manext>
}}}
* RETURN VALUE
** 프로그램의 경우 생략할 수도, 함수의 경우는 항상 적어주고, 모듈의 경우는 모듈 인터페이스들의 리턴값을 여기서 요약하거나, 각 함수나 메쏘드의 설명을 하는 곳에서 자세히 설명하거나.
* ERRORS
** 보통은 함수나 모듈의 경우 쓰이고, 프로그램은 DIAGNOSTICS 섹션을 대신 사용.
** 경험적으로는, 표준출력이나 표준에러를 통해 사용자에게 나가는 에러는 DIAGNOSTICS 섹션에 설명하고, 호출한 프로그램에 내부적으로 전달되거나 프로그래머를 위한 설명은 ERRORS 섹션에 둔다.
** errono값을 세팅하는 경우는 가능한 값의 목록을 여기에 적음
* DIAGNOSTICS
** 프로그램이 출력할 가능성이 있는 메시지들과 그 의미.
** 가능하면 사용자가 그 에러를 해결할 수 있는 방법을 같이 적도록 함.
* EXAMPLES
** 프로그램이나 함수 사용 예제 코드<footnote(그런데 perldoc 문서, 특히 모듈 문서는 SYNOPSIS 자리에 example 코드를 넣는 듯?)>. verbatim 문단으로.
** 각 예문이 무엇을 하는 코드인지도 간단한 설명을 추가해주면 훨씬 좋다.
* ENVIRONMENT
** 관련되는 환경변수들을 <code>=over</code>, <code>=item</code>, <code>=back</code>을 사용해 목록으로 출력.
{{{#!vim perl
=over 6
=item HOME
Used to determine the user's home directory. F<.foorc> in this
directory is read for configuration details, if it exists.
=back
}}}
* FILES
** 프로그램이나 함수에서 사용하는 파일들의 목록. 사용하는 용도.
** 파일명은 <code>F<></code>로 포매팅.
** 파일이 수정될 수 있는 경우 명시해 줄 것
* CAVEATS
** WARNINGS 로도 불림. 주의사항
* BUGS
* RESTRICTIONS
** 고칠 계획이 없는 버그들
* NOTES
* AUTHOR
** 작성자. (복수이면 AUTHORS)
** 버그 리포트를 받을 수 있는 메일주소나 기타 연락처를 남겨두면 좋음.
* HISTORY
** 다른 프로그램에서 파생된 경우.
** 프로그램 수정 내역을 적기도 하지만, 너무 길어지니 별도 파일에 적는 게 낫다.
* COPYRIGHT AND LICENSE
{{{#!vim
    Copyright YEAR(s) YOUR NAME(s)
}}}
** Perl과 동일한 라이센스를 사용하고 싶다면:
{{{#!vim
    This library is free software; you may redistribute it and/or modify
    it under the same terms as Perl itself.
}}}
* SEE ALSO
** 보통은 다른 맨페이지들을 컴마 뒤 한칸 띄고 나열.
** 메일링 리스트나 웹사이트가 있다면 URL
그 외:
* 객채지향 모듈의 경우 CONSTRUCTORS, METHODS, CLASS METHODS, INSTANCE METHODS 등. 함수 인터페이스의 경우 FUNCTIONS 섹션을 추가하고 DESCRIPTION 섹션에서는 개요만 보여주기도 함.
* 섹션들의 순서는 변할 수 있지만 NAME이 첫번째여야 함. 일반적으로 NAME, SYNOPSIS, DESCRIPTION, OPTIONS가 먼저 오고 이 순서로 나타남
* SEE ALSO, AUTHOR 등은 뒷쪽에
마크업을 과도하게 사용하지 말라.
* 펄 변수, 함수명, 맨페이지 레퍼런스 등은 따로 꾸미지 않아도 POD변환기가 처리해 준다.
* 현존하는 변화기들 다수가 메일 주소를 <code>L<></code>로 둘러쌌을 때 잘못된 수행을 하니 그러지 말라.
== # 한글 ==
윈도우 명령프롬프트에서 출력할 경우:

-365,90 +486,17
== # 기타 & Comments ==
== # 기타 ==
* [http://ko.perlmaven.com/pod-plain-old-documentation-of-perl POD - Plain Old Documentation -- Perl Maven]
<div class="comments">
Truth About Triactol Does Triactol Work Yahoo Triactol Price In India \\
 \\
http://www.mellencamp.com/forum/index.php?topic=957.0;prev_next=prev \\
http://www.makaticity.com/messages/message_board/post_message.php?parent_message_id=197974&message_board_category_id=1 \\
http://www.cruffler.com/discus/messages/43/331.html?1073060793 \\
http://admin.freeblog.hu/messages/blog/comments/archives/2006/08/11/Ehes_vagyok_de_nem_eszek_macskat/ \\
http://www.energie2007.fr/forums/viewtopic.php?t=2716 \\
http://www.upweek.ru/forum/viewtopic.php?f=3&t=33240 \\
http://www.advisors.iao.fhg.de/discus/messages/1/1.html?TuesdayMarch520021200pm \\
http://superdog.4bb.ru/viewtopic.php?id=35 \\
http://www.gowon.cn/bbs/viewthread.php?tid=2264%2B%255BPLM=0%255D%2BGET%2Bhttp://www.gowon.cn/bbs/viewthread.php?tid=2264%2B%255B0,97515,99128%255D%2B-%253E%2B%255BN%255D%2BPOST%2Bhttp://www.gowon.cn/bbs//post.php?action=reply&fid=107&tid=2264&extra=&replysubmit=yes%2B%255B0,0,12069%255D \\
http://meangirlssworld.forumbb.ru/viewtopic.php?id=8 \\
http://www.ecoleclassique.com/wwwboard/messages/8930.htm \\
http://www.ffs.net/foren-hosting/gdhm/wwwforum/messages/803.htm \\
http://www.phasure.com/index.php?topic=1651.0;prev_next=prev \\
http://ecfac.ru/forum/index.php?topic=34.0;prev_next=prev \\
http://narutofuture.9bb.ru/viewtopic.php?id=360 \\
http://info-realty.ru/forum/forum4/topic2258/messages/forum/ \\
http://www.schlafumgebung.de/forum/messages/5544.html \\
http://www.goulmima4.com/vb/showthread.php?t=3730 \\
http://genussforum.com/cgi1/messages/cgi1/messages/cgi1/index.html \\
http://www.tamdee.net/main//read.php?tid-1744.html \\
http://www.time4fish.net/board/index.php?topic=11425.0 \\
http://www.hotbloodedgaming.com/forum/showthread.php?p=240715 \\
http://www.automag.be/forum/viewtopic.php?f=10&t=6119 \\
http://www.angielski-online.pl/literatura/92-emily-dickinson/forum/viewtopic.php?f=8&t=472 \\
http://www.bms-ts.de/wwwboard/messages/12382.html \\
http://timesofmaroders.4bb.ru/viewtopic.php?id=25 \\
http://www.psionic3d.co.uk/forums/showthread.php?11-Swamp-Thing... \\
http://www.echo-n.ru/f/viewtopic.php?f=17&t=147 \\
http://october.perm.ru/forum/showthread.php?fid=1&tid=0 \\
http://www.medlz.de/forum/messages/3471.html \\
http://www.inquiceweb.com/IWboard/messages/board-topics.html \\
http://www.schlesierland.de/forum/messages/7905.html \\
http://inout.pp.ua/showthread.php?t=200 \\
http://g6s6.debthai.net/home/forum/viewthread.php?forum_id=2&thread_id=142&rowstart=160 \\
http://goldensnitch.rolevaya.ru/viewtopic.php?id=1 \\
 \\
http://www.winline.ru/forum/forum7/topic1959/messages/auth/?backurl=%2Fforum%2Fforum7%2Ftopic1959%2Fmessages%2F \\
http://www.collegeforums.ca/forum/index.php?topic=4.0 \\
http://grog.ca/forum/viewtopic.php?p=9656 \\
http://old.mijsvit.ua/index.php?option=com_smf&Itemid=128&a=http://old.mijsvit.ua/forum/index.php?topic=131.0 \\
http://www.virtual-tuned.phorum.cz/viewtopic.php?f=27&t=61 \\
http://www.levhair.org.il/Forum/Messages/AddResponse.asp?ItemID=243&CategoryID=487&Page=1 \\
http://alchemy.fobb.ru/viewtopic.php?id=2 \\
http://arzgulhightschool.rolka.su/viewtopic.php?id=515 \\
http://www.heppell.ca/messages/Messages.asp \\
http://hoptoit.com/discuss/messages/1/1.html \\
http://twilightimagination.rolka.su/viewtopic.php?id=403 \\
http://www.goathiphop.com/forum/viewtopic.php?f=7&t=26 \\
http://www.arcto.ru/FORUMS/messages/45/cgi/2/board-newmessages.cgi?method=last&number=1&units=1440&where=all \\
http://www.ftsldrs.com/forum/showthread.php?7-All-the-latest-music \\
http://progtuts.info/forum/viewtopic.php?id=4 \\
http://www.bbvforums.org/forums/messages/1954/71572.html \\
http://www.roguetemple.com/forums/index.php?topic=1298.0 \\
http://www.klubkat.com/messageboard/discus/messages/3/151.html?1138547123%2B%255BPLM=0%255D%2BGET%2Bhttp://www.klubkat.com/messageboard/discus/messages/3/151.html?1138547123%2B%255B0,6507,5587%255D%2B-%253E%2B%255BN%255D%2BPOST%2Bhttp://www.klubkat.com/messageboard/discus/board-post.cgi%2B%255BR=500%255D%255B0,0,886%255D \\
http://hiphop.eurobb.ru/viewtopic.php?id=1336 \\
http://musicians-acces.com/wwwboard/messages/1067.html \\
http://www.energie2007.fr/forums/viewtopic.php?t=2716 \\
http://ponce.inter.edu/forums/ayuda/messages/444.html \\
http://www.trishkin.ru/forum/trishkin/read.php?id_forum=1&id_theme= \\
http://magicanime.rolka.su/viewtopic.php?id=22id=62 \\
http://www.hobokenmsta.com/read.php?id=1129 \\
http://filmfanclub.spybb.ru/viewtopic.php?id=20 \\
http://immeln.nu/wwwboard/messages/75458.html \\
http://www.pescuitulsportiv.ro/forum/showthread.php?tid=265 \\
http://admin.freeblog.hu/messages/blog/comments/archives/2010/12/21/Az_endoszimbionta_gentranszfer/ \\
http://winxclub3.forumbb.ru/viewtopic.php?id=255 \\
http://www.chilecologico.cl/empresarios-pretenden-explotar-carbon-en-una-superficie-equivalente-al-40-de-la-isla-guafo/foro/viewtopic.php?t=403 \\
http://www.dierennieuws.nl/forum/smf/index.php?topic=18754.0 \\
http://lagenetica.info/foro_es/read.php?f=1&i=4882&t=4697&v=f%2B%255BPLM=0%255D%2BGET%2Bhttp://lagenetica.info/foro_es/read.php?f=1&i=4882&t=4697&v=f%2B%255B0,151546,150933%255D%2B-%253E%2B%255BN%255D%2BPOST%2Bhttp://lagenetica.info/foro_es/post.php%2B%255B0,0,11974%255D+%5BPLM=0%5D+GET+/foro_es/read.php?f=1&i=4882&t=4697&v=f%2B%255BPLM=0%255D%2BGET%2Bhttp://lagenetica.info/foro_es/read.php?f=1&i=4882&t=4697&v=f%2B%255B0,151546,150933%255D%2B-%253E%2B%255BN%255D%2BPOST%2Bhttp://lagenetica.info/foro_es/post.php%2B%255B0,0,11974%255D+%5B0,84575,83962%5D+-%3E+%5BN%5D+POST+http://lagenetica.info/foro_es/post.php+%5B0,0,9895%5D \\
http://misomakeup.co.kr/lcw//read.php?code=board&page=29&number=6391&keyfield=&key=&term=&title= \\
http://www.leader-lines.com/dev10/support/dev10/messages/forum/index.php \\
 \\
chrisvdavid@gmail.com \\
chrisvdavid@gmail.com \\
chrisvdavid@gmail.com <mysign(Coomiflumnfuh,2012-1-11 11:31 pm)>
== # Comments ==
<div class="comments">
<longcomments(100)>
----
<trackbackreceived>
</div>
----
[[컴퓨터분류]]


Perl POD

Plain Old Documentation format

1. perlpod 정리
1.1. Ordinary Paragraph
1.2. Verbatim Paragraph
1.3. Command Paragraph
1.4. Formatting Codes
1.5. The Intent
1.6. Embedding Pods in Perl Modules
1.7. Hints for Writing Pod
1.8. 참고
2. perlpodstyle 정리
3. 한글
4. 기타
5. Comments

1. perlpod 정리

Perldoc:perlpod 요약

Pod 마크업을 이루는 세 가지 기본적인 단락 : ordinary, verbatim, command

1.1. Ordinary Paragraph

1.2. Verbatim Paragraph

1.3. Command Paragraph

    =pod
    =head1 Heading Text
    =head2 Heading Text
    =head3 Heading Text
    =head4 Heading Text
    =over indentlevel
    =item stuff
    =back
    =begin format
    =end format
    =for format text...
    =encoding type
    =cut

 =head1 Heading Text
 =head2 Heading Text
 =head3 Heading Text
 =head4 Heading Text

=head2 Object Attributes
=head2 Possible Values for C<$/>

 =over indentlevel
 =item stuff...
 =back

=item Using C<$|> to Control Buffering

 =cut

 =pod

=item stuff()

This function does stuff.

=cut

  sub stuff {
    ...
  }

=pod

Remember to check its return value, as in:

    stuff() || die "Couldn't do stuff!";

=cut

 =begin formatname
 =end formatname
 =for formatname text...

=begin html

<hr> <img src="thang.png">
<p> This is a raw HTML paragraph </p>

=end html

=for html <hr> <img src="thang.png">
<p> This is a raw HTML paragraph </p>

=begin html

<br>Figure 1.<br><IMG SRC="figure1.png"><br>

=end html

=begin text

---------------
|  foo        |
|        bar  |
---------------

^^^^ Figure 1. ^^^^

=end text

=for comment
Make sure that all the available options are documented!

 =encoding encodingname

=encoding utf8
=encoding koi8-r
=encoding ShiftJIS
=encoding big5

유의: 명령어가 있는 라인이 아니라 명령어가 포함된 단락의 끝날 때 그 명령어가 끝난다. 따라서 각 명령어는 단락을 끝내기 위해 바로 뒤에 빈 라인이 있어야 한다:

=over

=item *

First item

=item *

Second item

=back

=over

=item Foo()

Description of Foo function

=item Bar()

Description of Bar function

=back

1.4. Formatting Codes

포매팅 코드 안에 ">"가 들어가야 되는 경우, 여러 가지 방법이 있음
    C<< $a <=> $b >>
    C<<< $a <=> $b >>>
    C<<<<  $a <=> $b     >>>>
이것은 모두
    C<$a E<lt>=E<gt> $b>
와 같다

    C<<< open(X, ">>thing.dat") || die $! >>>
    C<< $foo->bar(); >>
위의 형태가 아래 형태보다 읽기 좋다
    C<open(X, "E<gt>E<gt>thing.dat") || die $!>
    C<$foo-E<gt>bar();>

1.5. The Intent

1.6. Embedding Pods in Perl Modules

__END__

=head1 NAME

Time::Local - efficiently compute time from local and GMT time

1.7. Hints for Writing Pod

1.8. 참고

2. perlpodstyle 정리

Perldoc:perlpodstyle 문서 정리

일반적인 얘기:

표준 섹션들:
    foo, bar - programs to do something

=head2 Normal Usage
=head2 Advanced Features
=head2 Writing Configuration Files

=item B<--section>=I<manext>
=item B<-s> I<manext>, B<--section>=I<manext>

=over 6
=item HOME
Used to determine the user's home directory. F<.foorc> in this
directory is read for configuration details, if it exists.
=back

    Copyright YEAR(s) YOUR NAME(s)
    This library is free software; you may redistribute it and/or modify
    it under the same terms as Perl itself.

그 외:

마크업을 과도하게 사용하지 말라.

3. 한글

윈도우 명령프롬프트에서 출력할 경우:

4. 기타

5. Comments

이름:  
Homepage:
내용:
 


컴퓨터분류
각주:
1. 그런데 perldoc 문서, 특히 모듈 문서는 SYNOPSIS 자리에 example 코드를 넣는 듯?

마지막 편집일: 2013-6-29 12:02 am (변경사항 [d])
2804 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기