Initial Commit

This commit is contained in:
Riley Schneider
2025-12-03 16:38:10 +01:00
parent c5e26bf594
commit b732d8d4b5
17680 changed files with 5977495 additions and 2 deletions

View File

@@ -0,0 +1,62 @@
package PPI::Token::QuoteLike::Backtick;
=pod
=head1 NAME
PPI::Token::QuoteLike::Backtick - A `backticks` command token
=head1 INHERITANCE
PPI::Token::QuoteLike::Backtick
isa PPI::Token::QuoteLike
isa PPI::Token
isa PPI::Element
=head1 DESCRIPTION
A C<PPI::Token::QuoteLike::Backtick> object represents a command output
capturing quote.
=head1 METHODS
There are no methods available for C<PPI::Token::QuoteLike::Backtick>
beyond those provided by the parent L<PPI::Token::QuoteLike>, L<PPI::Token>
and L<PPI::Element> classes.
=cut
use strict;
use PPI::Token::QuoteLike ();
use PPI::Token::_QuoteEngine::Simple ();
our $VERSION = '1.270'; # VERSION
our @ISA = qw{
PPI::Token::_QuoteEngine::Simple
PPI::Token::QuoteLike
};
1;
=pod
=head1 SUPPORT
See the L<support section|PPI/SUPPORT> in the main module.
=head1 AUTHOR
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.
=cut

View File

@@ -0,0 +1,62 @@
package PPI::Token::QuoteLike::Command;
=pod
=head1 NAME
PPI::Token::QuoteLike::Command - The command quote-like operator
=head1 INHERITANCE
PPI::Token::QuoteLike::Command
isa PPI::Token::QuoteLike
isa PPI::Token
isa PPI::Element
=head1 DESCRIPTION
A C<PPI::Token::QuoteLike::Command> object represents a command output
capturing quote-like operator.
=head1 METHODS
There are no methods available for C<PPI::Token::QuoteLike::Command>
beyond those provided by the parent L<PPI::Token::QuoteLike>, L<PPI::Token>
and L<PPI::Element> classes.
=cut
use strict;
use PPI::Token::QuoteLike ();
use PPI::Token::_QuoteEngine::Full ();
our $VERSION = '1.270'; # VERSION
our @ISA = qw{
PPI::Token::_QuoteEngine::Full
PPI::Token::QuoteLike
};
1;
=pod
=head1 SUPPORT
See the L<support section|PPI/SUPPORT> in the main module.
=head1 AUTHOR
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.
=cut

View File

@@ -0,0 +1,71 @@
package PPI::Token::QuoteLike::Readline;
=pod
=head1 NAME
PPI::Token::QuoteLike::Readline - The readline quote-like operator
=head1 INHERITANCE
PPI::Token::QuoteLike::Readline
isa PPI::Token::QuoteLike
isa PPI::Token
isa PPI::Element
=head1 DESCRIPTION
The C<readline> quote-like operator is used to read either a single
line from a file, or all the lines from a file, as follows.
# Read in a single line
$line = <FILE>;
# From a scalar handle
$line = <$filehandle>;
# Read all the lines
@lines = <FILE>;
=head1 METHODS
There are no methods available for C<PPI::Token::QuoteLike::Readline>
beyond those provided by the parent L<PPI::Token::QuoteLike>, L<PPI::Token>
and L<PPI::Element> classes.
=cut
use strict;
use PPI::Token::QuoteLike ();
use PPI::Token::_QuoteEngine::Full ();
our $VERSION = '1.270'; # VERSION
our @ISA = qw{
PPI::Token::_QuoteEngine::Full
PPI::Token::QuoteLike
};
1;
=pod
=head1 SUPPORT
See the L<support section|PPI/SUPPORT> in the main module.
=head1 AUTHOR
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.
=cut

View File

@@ -0,0 +1,126 @@
package PPI::Token::QuoteLike::Regexp;
=pod
=head1 NAME
PPI::Token::QuoteLike::Regexp - Regexp constructor quote-like operator
=head1 INHERITANCE
PPI::Token::QuoteLike::Regexp
isa PPI::Token::QuoteLike
isa PPI::Token
isa PPI::Element
=head1 DESCRIPTION
A C<PPI::Token::QuoteLike::Regexp> object represents the quote-like
operator used to construct anonymous L<Regexp> objects, as follows.
# Create a Regexp object for a module filename
my $module = qr/\.pm$/;
=head1 METHODS
The following methods are provided by this class,
beyond those provided by the parent L<PPI::Token::QuoteLike>,
L<PPI::Token> and L<PPI::Element> classes.
=cut
use strict;
use PPI::Token::QuoteLike ();
use PPI::Token::_QuoteEngine::Full ();
our $VERSION = '1.270'; # VERSION
our @ISA = qw{
PPI::Token::_QuoteEngine::Full
PPI::Token::QuoteLike
};
#####################################################################
# PPI::Token::QuoteLike::Regexp Methods
=pod
=head2 get_match_string
The C<get_match_string> method returns the portion of the string that
will be compiled into the match portion of the regexp.
=cut
sub get_match_string {
return $_[0]->_section_content( 0 );
}
=pod
=head2 get_substitute_string
The C<get_substitute_string> method always returns C<undef>, since
the C<qr{}> construction provides no substitution string. This method
is provided for orthogonality with C<PPI::Token::Regexp>.
=cut
sub get_substitute_string {
return undef;
}
=pod
=head2 get_modifiers
The C<get_modifiers> method returns the modifiers that will be
compiled into the regexp.
=cut
sub get_modifiers {
return $_[0]->_modifiers();
}
=pod
=head2 get_delimiters
The C<get_delimiters> method returns the delimiters of the string as an
array. The first and only element is the delimiters of the string to be
compiled into a match string.
=cut
sub get_delimiters {
return $_[0]->_delimiters();
}
1;
=pod
=head1 SUPPORT
See the L<support section|PPI/SUPPORT> in the main module.
=head1 AUTHOR
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.
=cut

View File

@@ -0,0 +1,88 @@
package PPI::Token::QuoteLike::Words;
=pod
=head1 NAME
PPI::Token::QuoteLike::Words - Word list constructor quote-like operator
=head1 INHERITANCE
PPI::Token::QuoteLike::Words
isa PPI::Token::QuoteLike
isa PPI::Token
isa PPI::Element
=head1 DESCRIPTION
A C<PPI::Token::QuoteLike::Words> object represents a quote-like operator
that acts as a constructor for a list of words.
# Create a list for a significant chunk of the alphabet
my @list = qw{a b c d e f g h i j k l};
=head1 METHODS
=cut
use strict;
use PPI::Token::QuoteLike ();
use PPI::Token::_QuoteEngine::Full ();
our $VERSION = '1.270'; # VERSION
our @ISA = qw{
PPI::Token::_QuoteEngine::Full
PPI::Token::QuoteLike
};
=pod
=head2 literal
Returns the words contained as a list. Note that this method does not check the
context that the token is in; it always returns the list and not merely
the last element if the token is in scalar context.
=cut
sub literal {
my ( $self ) = @_;
my $content = $self->_section_content(0);
return if !defined $content;
# Undo backslash escaping of '\', the left delimiter,
# and the right delimiter. The right delimiter will
# only exist with paired delimiters: qw() qw[] qw<> qw{}.
my ( $left, $right ) = ( $self->_delimiters, '', '' );
$content =~ s/\\([\Q$left$right\\\E])/$1/g;
my @words = split ' ', $content;
return @words;
}
1;
=pod
=head1 SUPPORT
See the L<support section|PPI/SUPPORT> in the main module.
=head1 AUTHOR
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.
=cut