The following module was proposed for inclusion in the Module List:
modid: Filter::Heredoc
DSLIP: adpfp
description: Search and print here documents in scripts
userid: BKRON (Bertil Kronlund)
chapterid: 2 (Language_Extensions)
communities:
Github
similar:
Filter::Indent::Heredoc Filter::HereDocIndent PPI::Token::HereDoc
rationale:
'Filter::Heredoc' provides subroutines to process text lines from
e.g. STDIN or an input file. This source stream can then be routed
to STDOUT. This module extracts here documents from shell scripts
(i.e. POSIX compliant shell scripts). Perl have derived a similar
syntax but is at the same time different in the details.
The name 'Filter::Heredoc' describes exactly what is does and is
the classical definition of a shell filter. The reverse rootlevel
namespace 'Heredoc::Filter' is attractive but not required, and may
need more arguments from my side.
Here document indentation is a stylistic problem in e.g. in Perl
code. Modules like 'Filter::Indent::Heredoc' and
'Filter::HereDocIndent' have addressed that need. 'Filter::Heredoc'
is not oriented towards code but to search and extract "any" here
document. The output can be piped to an external program such as
hunspell or aspell.
'PPI::Token::HereDoc' is a token class for parsing Perl code and
creates Heredoc objects with all here document lines. On the other
hand 'Filter::Heredoc' supports shell here documents. Perl here
documents can be supported as well with an additional Perl "rule".
Perl support is experimental in the initial version.
Bertil
enteredby: BKRON (Bertil Kronlund)
enteredon: Sat Dec 10 12:16:03 2011 GMT
The resulting entry would be:
Filter::
::Heredoc adpfp Search and print here documents in scripts BKRON
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=1f800000_282aea52a3f244be&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=1f800000_282aea52a3f244be&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=Filter%3A%3AHeredoc