HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/perl5/Perl/Critic/Utils/POD/ParseInteriorSequence.pm
package Perl::Critic::Utils::POD::ParseInteriorSequence;

use 5.006001;
use strict;
use warnings;

use base qw{ Pod::Parser };

use IO::String;

our $VERSION = '1.126';

#-----------------------------------------------------------------------------

sub interior_sequence {
    my ( $self, $seq_cmd, $seq_arg, $pod_seq ) = @_;
    push @{ $self->{+__PACKAGE__}{interior_sequence} ||= [] }, $pod_seq;
    return $self->SUPER::interior_sequence( $seq_cmd, $seq_arg, $pod_seq );
}

#-----------------------------------------------------------------------------

sub get_interior_sequences {
    my ( $self, $pod ) = @_;
    $self->{+__PACKAGE__}{interior_sequence} = [];
    my $result;
    $self->parse_from_filehandle(
        IO::String->new( \$pod ),
        IO::String->new( \$result )
    );
    return @{ $self->{+__PACKAGE__}{interior_sequence} };
}

#-----------------------------------------------------------------------------

1;

__END__

#-----------------------------------------------------------------------------

=pod

=for stopwords

=head1 NAME

Perl::Critic::Utils::POD::ParseInteriorSequence - Pod::Parser subclass to find all interior sequences.


=head1 SYNOPSIS

    use Perl::Critic::Utils::POD::ParseInteriorSequence;

    my $parser = Perl::Critic::Utils::POD::ParseInteriorSequence->new();
    my @sequences = $parser->parse_interior_sequences(
        $pod->content() );


=head1 DESCRIPTION

Provides a means to extract interior sequences from POD text.


=head1 INTERFACE SUPPORT

This module is considered to be private to Perl::Critic. It can be
changed or removed without notice.


=head1 METHODS

=over

=item C<get_interior_sequences( $pod_text )>

Returns an array of all the interior sequences from a given chunk of POD
text, represented as L<Pod::InteriorSequence|Pod::InputObjects> objects.
The POD text is assumed to begin with a POD command (e.g.  C<=pod>).

=item C<interior_sequence( $seq_cmd, $seq_arg, $pod_seq )>

Overrides the parent's method of the same name. Stashes the $pod_seq
argument, which is a C<Pod::InteriorSequence> object, so that
C<get_interior_sequences()> has access to it.

=back


=head1 AUTHOR

Thomas R. Wyant, III F<wyant at cpan dot org>


=head1 COPYRIGHT

Copyright (c) 2011 Thomas R. Wyant, III

This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.  The full text of this license
can be found in the LICENSE file included with this module.

=cut

# Local Variables:
#   mode: cperl
#   cperl-indent-level: 4
#   fill-column: 78
#   indent-tabs-mode: nil
#   c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :