> Thanks for the note Tom.
>
> Attached is a file that causes the
> unexpected character warning. Before I put the heredoc in, it did
> not have the issue with the form feed.
>
> RE: Perl PPI version
> C:\>perl -MPPI -E "say PPI->VERSION"
> 1.215
>
> RE: Missing
> packages. From PPM query results...
>
> String-Format
> │ 1.16 │ sprintf-like string formatting capabilities with
> Perl-Tidy │ 20101217 │ indent and reformat perl
> scripts
> Pod-Spell │ 1.01 │ a formatter for
> spellchecking Pod
> PPIx-Regexp │ 0.020 │ Parse
> regular expressions
>
> I was surprised to see missing packages. As
> I mentioned I just reinstalled ActiveState perl. My previous
> install, which was the same version did not have this issue. One
> difference is I do remember doing an update with PPM and seeing
> perlcritic showing up in the update list. Perhaps the dependencies
> got loaded when I updated perlcritic. Perlcritic did indeed die
> 'horribly' when I ran it after the reinstall which is how I figured
> out which packages were missing. I did install them to fix the
> issue. Again, the missing packages was more of an FYI as it would
> seem to be an ActiveState issue rather than a perlcritic issue.
> E. Scott Stricker
> Senior Software Engineer
> Northrop Grumman -
> Information Systems - C2SD
> MailStop 4S02
> 2340 Dulles Corner
> Blvd.
> Herndon, VA 20171
> 703-561-3671
> 703-713-1601 (fax)
> -----Original Message-----
> From: Tom Wyant via RT [mailto:bug-
> Perl-Critic@rt.cpan.org]
> Sent: Friday, April 15, 2011 12:24 PM
> To: Stricker, Scott (IS)
> Subject: EXT :[rt.cpan.org #67491]
> Perlcritic reports problem when evaluating a file with embedded
> form feed chars.
>
> <URL:
>
https://rt.cpan.org/Ticket/Display.html?id=67491 >
>
> On Fri Apr 15
> 09:59:30 2011, stricsc wrote:
> > Just reinstalled Activestate perl
> and am running perlcritic 1.115 in
> > an activestate perl 5.12.3
> (1204) on a windows xp pro SP3 machine.
> > I run perlcritic against
> a perl script with raw form feeds (12) in it
> > and get the
> following...
> > Problem while critiquing
> >
> "C:\h\HCS\website\COF_Root\Scripts\Region_Map_OL.pl": Can't parse
> > code: Encountered unexpected character '12'
> > Added the FF
> characters to paginate the file when printed.
> > Also, just as an
> FYI, after reloading activestate perl, when I ran
> > perlcritic, I
> was told that the following modules were missing
> > String-format
> > Perl-tidy
> > Pod-spell
> > PPix-regex
> > Was surprised that they
> did not come bundled to support perlcritic.
> > I'll do some digging
> and see if I can also pass the word to the
> > activestate folks.
> >
> > Thanks
> >
> >
> > E. Scott Stricker
> >
> >
> >
>
> I can not
> duplicate this failure, at least not so far. How relevant this
> is,
> given that I have neither ActivePerl nor Windows XP, is not clear
> (it's Perl Perl so to speak, and Mac OS X).
>
> On the presumption
> that it matters where the form feeds go, can you
> possibly provide
> a failing file?
>
> Also: can you confirm the version of the Perl
> PPI module you have
> installed? Say, with
>
> > perl -MPPI -E "say
> PPI->VERSION"
>
> I have no idea what is going on with the missing
> dependencies. Speaking
> pedantically, there is no such package as
> (for instance) Perl-tidy,
> since case is important. I have not yet
> figured out how, without
> ActivePerl, to download an individual PPM
> package, but the package.xml
> file for Windows and Perl 5.12 seems
> to include all the missing packages
> as dependencies, with the
> correct case.
>
> You will know if the missing packages are truly
> missing, because
> perlcritic will die horribly when trying to
> execute policies that use
> them, even when criticizing files
> without form feeds. If they are really
> not there, you should be
> able to get going by simply installing them.
>
> Tom Wyant
Thank you very much.
Problem duplicated. Now I have something to go on. I'll investigate
further, but I strongly suspect this will end up being a PPI bug. You
have the latest PPI, so if my suspicion is correct, the fix will await a
PPI release.
Interestingly, it fails on
^L my $testvar = <<"END_VAR";
but not on
^L
my $testvar = <<"END_VAR";