The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

package PPIx::Utils;
use strict;
use Exporter 'import';
our $VERSION = '0.003';
our @EXPORT_OK = (
@PPIx::Utils::Classification::EXPORT_OK,
@PPIx::Utils::Language::EXPORT_OK,
@PPIx::Utils::Traversal::EXPORT_OK,
);
our %EXPORT_TAGS = (
all => [@EXPORT_OK],
classification => [@PPIx::Utils::Classification::EXPORT_OK],
language => [@PPIx::Utils::Language::EXPORT_OK],
traversal => [@PPIx::Utils::Traversal::EXPORT_OK],
);
1;
=head1 NAME
PPIx::Utils - Utility functions for PPI
=head1 SYNOPSIS
use PPIx::Utils qw(:classification :language :traversal);
=head1 DESCRIPTION
C<PPIx::Utils> is a collection of utility functions for working with L<PPI>
documents. The functions are organized into submodules, and may be imported
from the appropriate submodule or via this module.
These functions were originally from L<Perl::Critic::Utils> and related
modules, and have been split off to this distribution for use outside of
L<Perl::Critic>.
=head1 MODULES
The import tag C<:all> will import the functions from all modules listed below.
=head2 L<PPIx::Utils::Classification>
Functions related to classification of L<PPI> elements. All functions from this
module can be imported with the import tag C<:classification>.
=head2 L<PPIx::Utils::Language>
Functions related to the Perl language. All functions from this module can be
imported with the import tag C<:language>.
=head2 L<PPIx::Utils::Traversal>
Functions related to traversal of L<PPI> documents. All functions from this
module can be imported with the import tag C<:traversal>.
=head1 BUGS
Report any issues on the public bugtracker.
=head1 AUTHOR
Dan Book <dbook@cpan.org>
Code originally from L<Perl::Critic::Utils> by Jeffrey Ryan Thalhammer
<jeff@imaginative-software.com>, L<Perl::Critic::Utils::PPI> +
L<Perl::Critic::Utils::Perl> + L<PPIx::Utilities::Node> by Elliot Shank
<perl@galumph.com>, and L<PPIx::Utilities::Statement> by
Thomas R. Wyant, III <wyant@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2005-2011 Imaginative Software Systems,
2007-2011 Elliot Shank, 2009-2010 Thomas R. Wyant, III, 2017 Dan Book.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=head1 SEE ALSO
L<PPI>, L<Perl::Critic::Utils>, L<PPIx::Utilities>