亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? select.pm

?? UNIX下perl實現代碼
?? PM
?? 第 1 頁 / 共 2 頁
字號:
############################################################################## Pod/Select.pm -- function to select portions of POD docs## Copyright (C) 1996-2000 by Bradford Appleton. All rights reserved.# This file is part of "PodParser". PodParser is free software;# you can redistribute it and/or modify it under the same terms# as Perl itself.#############################################################################package Pod::Select;use vars qw($VERSION);$VERSION = 1.13;  ## Current version of this packagerequire  5.005;    ## requires this Perl version or later#############################################################################=head1 NAMEPod::Select, podselect() - extract selected sections of POD from input=head1 SYNOPSIS    use Pod::Select;    ## Select all the POD sections for each file in @filelist    ## and print the result on standard output.    podselect(@filelist);    ## Same as above, but write to tmp.out    podselect({-output => "tmp.out"}, @filelist):    ## Select from the given filelist, only those POD sections that are    ## within a 1st level section named any of: NAME, SYNOPSIS, OPTIONS.    podselect({-sections => ["NAME|SYNOPSIS", "OPTIONS"]}, @filelist):    ## Select the "DESCRIPTION" section of the PODs from STDIN and write    ## the result to STDERR.    podselect({-output => ">&STDERR", -sections => ["DESCRIPTION"]}, \*STDIN);or    use Pod::Select;    ## Create a parser object for selecting POD sections from the input    $parser = new Pod::Select();    ## Select all the POD sections for each file in @filelist    ## and print the result to tmp.out.    $parser->parse_from_file("<&STDIN", "tmp.out");    ## Select from the given filelist, only those POD sections that are    ## within a 1st level section named any of: NAME, SYNOPSIS, OPTIONS.    $parser->select("NAME|SYNOPSIS", "OPTIONS");    for (@filelist) { $parser->parse_from_file($_); }    ## Select the "DESCRIPTION" and "SEE ALSO" sections of the PODs from    ## STDIN and write the result to STDERR.    $parser->select("DESCRIPTION");    $parser->add_selection("SEE ALSO");    $parser->parse_from_filehandle(\*STDIN, \*STDERR);=head1 REQUIRESperl5.005, Pod::Parser, Exporter, Carp=head1 EXPORTSpodselect()=head1 DESCRIPTIONB<podselect()> is a function which will extract specified sections ofpod documentation from an input stream. This ability is provided by theB<Pod::Select> module which is a subclass of B<Pod::Parser>.B<Pod::Select> provides a method named B<select()> to specify the set ofPOD sections to select for processing/printing. B<podselect()> merelycreates a B<Pod::Select> object and then invokes the B<podselect()>followed by B<parse_from_file()>.=head1 SECTION SPECIFICATIONSB<podselect()> and B<Pod::Select::select()> may be given one or more"section specifications" to restrict the text processed to only thedesired set of sections and their corresponding subsections.  A sectionspecification is a string containing one or more Perl-style regularexpressions separated by forward slashes ("/").  If you need to use aforward slash literally within a section title you can escape it with abackslash ("\/").The formal syntax of a section specification is:=over 4=item *I<head1-title-regex>/I<head2-title-regex>/...=backAny omitted or empty regular expressions will default to ".*".Please note that each regular expression given is implicitlyanchored by adding "^" and "$" to the beginning and end.  Also, if agiven regular expression starts with a "!" character, then theexpression is I<negated> (so C<!foo> would match anything I<except>C<foo>).Some example section specifications follow.=over 4=item *Match the C<NAME> and C<SYNOPSIS> sections and all of their subsections:C<NAME|SYNOPSIS>=item *Match only the C<Question> and C<Answer> subsections of the C<DESCRIPTION>section:C<DESCRIPTION/Question|Answer>=item *Match the C<Comments> subsection of I<all> sections:C</Comments>=item *Match all subsections of C<DESCRIPTION> I<except> for C<Comments>:C<DESCRIPTION/!Comments>=item *Match the C<DESCRIPTION> section but do I<not> match any of its subsections:C<DESCRIPTION/!.+>=item *Match all top level sections but none of their subsections:C</!.+>=back =begin _NOT_IMPLEMENTED_=head1 RANGE SPECIFICATIONSB<podselect()> and B<Pod::Select::select()> may be given one or more"range specifications" to restrict the text processed to only thedesired ranges of paragraphs in the desired set of sections. A rangespecification is a string containing a single Perl-style regularexpression (a regex), or else two Perl-style regular expressions(regexs) separated by a ".." (Perl's "range" operator is "..").The regexs in a range specification are delimited by forward slashes("/").  If you need to use a forward slash literally within a regex youcan escape it with a backslash ("\/").The formal syntax of a range specification is:=over 4=item */I<start-range-regex>/[../I<end-range-regex>/]=backWhere each the item inside square brackets (the ".." followed by theend-range-regex) is optional. Each "range-regex" is of the form:    =cmd-expr text-exprWhere I<cmd-expr> is intended to match the name of one or more PODcommands, and I<text-expr> is intended to match the paragraph text forthe command. If a range-regex is supposed to match a POD command, thenthe first character of the regex (the one after the initial '/')absolutely I<must> be an single '=' character; it may not be anythingelse (not even a regex meta-character) if it is supposed to matchagainst the name of a POD command.If no I<=cmd-expr> is given then the text-expr will be matched againstplain textblocks unless it is preceded by a space, in which case it ismatched against verbatim text-blocks. If no I<text-expr> is given thenonly the command-portion of the paragraph is matched against.Note that these two expressions are each implicitly anchored. Thismeans that when matching against the command-name, there will be animplicit '^' and '$' around the given I<=cmd-expr>; and when matchingagainst the paragraph text there will be an implicit '\A' and '\Z'around the given I<text-expr>.Unlike with section-specs, the '!' character does I<not> have any specialmeaning (negation or otherwise) at the beginning of a range-spec!Some example range specifications follow.=over 4=itemMatch all C<=for html> paragraphs:C</=for html/>=itemMatch all paragraphs between C<=begin html> and C<=end html>(note that this will I<not> work correctly if such sectionsare nested):C</=begin html/../=end html/>=itemMatch all paragraphs between the given C<=item> name until the end of thecurrent section:C</=item mine/../=head\d/>=itemMatch all paragraphs between the given C<=item> until the next item, oruntil the end of the itemized list (note that this will I<not> work asdesired if the item contains an itemized list nested within it):C</=item mine/../=(item|back)/>=back =end _NOT_IMPLEMENTED_=cut#############################################################################use strict;#use diagnostics;use Carp;use Pod::Parser 1.04;use vars qw(@ISA @EXPORT $MAX_HEADING_LEVEL);@ISA = qw(Pod::Parser);@EXPORT = qw(&podselect);## Maximum number of heading levels supported for '=headN' directives*MAX_HEADING_LEVEL = \3;#############################################################################=head1 OBJECT METHODSThe following methods are provided in this module. Each one takes areference to the object itself as an implicit first parameter.=cut##---------------------------------------------------------------------------## =begin _PRIVATE_## ## =head1 B<_init_headings()>## ## Initialize the current set of active section headings.## ## =cut## ## =end _PRIVATE_use vars qw(%myData @section_headings);sub _init_headings {    my $self = shift;    local *myData = $self;    ## Initialize current section heading titles if necessary    unless (defined $myData{_SECTION_HEADINGS}) {        local *section_headings = $myData{_SECTION_HEADINGS} = [];        for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {            $section_headings[$i] = '';        }    }}##---------------------------------------------------------------------------=head1 B<curr_headings()>            ($head1, $head2, $head3, ...) = $parser->curr_headings();            $head1 = $parser->curr_headings(1);This method returns a list of the currently active section headings andsubheadings in the document being parsed. The list of headings returnedcorresponds to the most recently parsed paragraph of the input.If an argument is given, it must correspond to the desired sectionheading number, in which case only the specified section heading isreturned. If there is no current section heading at the specifiedlevel, then C<undef> is returned.=cutsub curr_headings {    my $self = shift;    $self->_init_headings()  unless (defined $self->{_SECTION_HEADINGS});    my @headings = @{ $self->{_SECTION_HEADINGS} };    return (@_ > 0  and  $_[0] =~ /^\d+$/) ? $headings[$_[0] - 1] : @headings;}##---------------------------------------------------------------------------=head1 B<select()>            $parser->select($section_spec1,$section_spec2,...);This method is used to select the particular sections and subsections ofPOD documentation that are to be printed and/or processed. The existingset of selected sections is I<replaced> with the given set of sections.See B<add_selection()> for adding to the current set of selectedsections.Each of the C<$section_spec> arguments should be a section specificationas described in L<"SECTION SPECIFICATIONS">.  The section specificationsare parsed by this method and the resulting regular expressions arestored in the invoking object.If no C<$section_spec> arguments are given, then the existing set ofselected sections is cleared out (which means C<all> sections will beprocessed).This method should I<not> normally be overridden by subclasses.=cutuse vars qw(@selected_sections);sub select {    my $self = shift;    my @sections = @_;    local *myData = $self;    local $_;### NEED TO DISCERN A SECTION-SPEC FROM A RANGE-SPEC (look for m{^/.+/$}?)    ##---------------------------------------------------------------------    ## The following is a blatant hack for backward compatibility, and for    ## implementing add_selection(). If the *first* *argument* is the    ## string "+", then the remaining section specifications are *added*    ## to the current set of selections; otherwise the given section    ## specifications will *replace* the current set of selections.    ##    ## This should probably be fixed someday, but for the present time,    ## it seems incredibly unlikely that "+" would ever correspond to    ## a legitimate section heading    ##---------------------------------------------------------------------    my $add = ($sections[0] eq "+") ? shift(@sections) : "";    ## Reset the set of sections to use    unless (@sections > 0) {        delete $myData{_SELECTED_SECTIONS}  unless ($add);        return;    }    $myData{_SELECTED_SECTIONS} = []        unless ($add  &&  exists $myData{_SELECTED_SECTIONS});    local *selected_sections = $myData{_SELECTED_SECTIONS};    ## Compile each spec    my $spec;    for $spec (@sections) {        if ( defined($_ = &_compile_section_spec($spec)) ) {            ## Store them in our sections array            push(@selected_sections, $_);        }        else {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久黄色级2电影| 国产成人av福利| 国产精品77777| 色狠狠桃花综合| 精品久久久影院| 亚洲综合一区二区精品导航| 久久成人av少妇免费| 色网站国产精品| 久久久久久97三级| 日韩av中文字幕一区二区三区| 国产99久久久国产精品潘金| 欧美日韩美少妇| 亚洲免费在线视频| 成人小视频免费观看| 日韩欧美亚洲一区二区| 亚洲一区二区三区激情| www.在线欧美| 欧美国产精品劲爆| 久久精品国产亚洲5555| 欧美色倩网站大全免费| 亚洲色图丝袜美腿| 国产成人三级在线观看| 精品国产乱码久久| 美女mm1313爽爽久久久蜜臀| 欧美中文字幕亚洲一区二区va在线| 国产欧美日韩在线看| 狠狠色丁香婷婷综合| 日韩欧美国产精品一区| 丝袜国产日韩另类美女| 欧美色视频在线观看| 亚洲女爱视频在线| 一本色道a无线码一区v| ...中文天堂在线一区| 国产99久久久精品| 欧美韩国日本一区| 成人av电影在线网| 1000部国产精品成人观看| 成人av电影在线观看| 亚洲欧美在线观看| 一本色道久久综合狠狠躁的推荐| 亚洲欧洲精品一区二区三区不卡| 成人国产精品免费观看动漫| 中文字幕第一页久久| 国产成人av在线影院| 欧美激情资源网| 色综合网色综合| 亚洲成av人**亚洲成av**| 色悠久久久久综合欧美99| 一区二区三区免费| 欧美日本在线一区| 久久精品久久综合| 中文字幕二三区不卡| 91免费看片在线观看| 亚洲精品日日夜夜| 欧美日韩视频第一区| 久草热8精品视频在线观看| 日韩欧美国产高清| 国产成人自拍网| 亚洲免费av高清| 欧美精选一区二区| 国产一区二区三区高清播放| 国产无人区一区二区三区| 91啪在线观看| 免费成人在线播放| 欧美激情综合在线| 欧美日韩视频第一区| 国产一区二区毛片| 亚洲女同女同女同女同女同69| 精品视频1区2区| 国产精品一区专区| 亚洲成人激情社区| 国产视频一区在线观看| 在线观看视频一区二区欧美日韩| 免费成人在线播放| 亚洲美女屁股眼交3| 91精品欧美久久久久久动漫| 国产福利一区在线观看| 亚洲一区二区三区四区在线观看 | av午夜一区麻豆| 日韩电影免费在线观看网站| 国产欧美日韩卡一| 欧美日韩精品系列| 成人午夜免费电影| 日本最新不卡在线| 亚洲人成小说网站色在线| 欧美成人激情免费网| 91高清视频在线| 国产成人99久久亚洲综合精品| 亚洲电影你懂得| 欧美激情一区三区| 精品少妇一区二区三区免费观看| 色综合久久天天综合网| 精品在线一区二区| 亚洲综合成人在线| 国产精品理论在线观看| 日韩欧美一区二区不卡| 91久久奴性调教| 国产精品一区二区果冻传媒| 亚洲18色成人| 亚洲少妇最新在线视频| 精品国产1区2区3区| 欧美日韩中文一区| 91天堂素人约啪| 成人av中文字幕| 国产一区二区网址| 国产在线播放一区| 久久99国产精品免费| 青青青爽久久午夜综合久久午夜| 一区二区欧美在线观看| 亚洲视频资源在线| 亚洲丝袜另类动漫二区| 自拍偷拍亚洲激情| 国产精品人妖ts系列视频| 欧美精品一区男女天堂| 日韩欧美一区中文| 91精品欧美一区二区三区综合在| 欧美在线视频你懂得| 91在线你懂得| 色天使色偷偷av一区二区| 91麻豆自制传媒国产之光| 成人av影视在线观看| 成人性色生活片免费看爆迷你毛片| 精品一区二区三区久久久| 黄色小说综合网站| 国产真实乱子伦精品视频| 国产精品一级二级三级| 国产99精品国产| 99精品黄色片免费大全| 99久久精品免费精品国产| 91啪九色porn原创视频在线观看| 97精品久久久久中文字幕| 91小视频在线| 在线观看成人小视频| 欧美久久久久久久久久| 日韩欧美一区二区不卡| 国产亚洲欧洲997久久综合 | 最新中文字幕一区二区三区| 亚洲久本草在线中文字幕| 亚洲亚洲人成综合网络| 日韩成人精品在线观看| 激情av综合网| 91丨九色porny丨蝌蚪| 欧美性三三影院| 日韩欧美中文字幕一区| 国产日韩精品一区二区三区在线| 免费人成黄页网站在线一区二区 | 欧美少妇bbb| 日韩一区二区三区精品视频| 2020日本不卡一区二区视频| 国产精品午夜在线| 亚洲国产精品一区二区www在线| 日韩精品福利网| 国产a级毛片一区| 欧美伊人久久久久久久久影院 | 91亚洲国产成人精品一区二区三 | 一区二区三区蜜桃| 久久爱另类一区二区小说| www.久久久久久久久| 欧美日韩你懂的| 国产视频一区二区在线观看| 亚洲国产日韩精品| 国产传媒日韩欧美成人| 色久综合一二码| 久久精品在线免费观看| 亚洲国产另类精品专区| 国v精品久久久网| 在线成人免费视频| 亚洲欧美一区二区久久| 韩国毛片一区二区三区| 91福利视频久久久久| 欧美精品一区二区三区一线天视频 | 成年人网站91| 日韩精品一区在线观看| 一级中文字幕一区二区| 国产成人亚洲综合色影视| 欧美乱妇15p| 一区二区三区高清在线| 福利一区二区在线| 日韩精品一区在线| 亚洲高清免费视频| 97久久精品人人做人人爽| 国产亚洲一本大道中文在线| 天天做天天摸天天爽国产一区 | 国产综合成人久久大片91| 欧美日韩一区二区三区免费看| 国产欧美日韩激情| 久久电影国产免费久久电影| 欧美日韩亚洲综合在线 | 91精品国产欧美一区二区| 亚洲久本草在线中文字幕| av在线播放一区二区三区| 久久久精品国产免大香伊| 激情小说欧美图片| 欧美一区二区三区四区五区| 夜夜夜精品看看| 欧美日韩中文一区| 亚洲国产美女搞黄色| 欧美日韩精品一区二区三区| 亚洲综合色区另类av| 欧美视频在线一区二区三区 |