Skip Menu |

This queue is for tickets about the Pod-Parser CPAN distribution.

Report information
The Basics
Id: 72197
Status: resolved
Worked: 5 min
Priority: 0/
Queue: Pod-Parser

People
Owner: Nobody in particular
Requestors: perlbug-followup [...] perl.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



CC: bug-Pod-Parser [...] rt.cpan.org
Subject: [perl #97910] podchecker false errors for = inside quoted strings
Date: Sat, 05 Nov 2011 00:15:19 -0700
To: "OtherRecipients of perl Ticket #97910":;
From: "Father Chrysostomos via RT" <perlbug-followup [...] perl.org>
podchecker is maintained as part of the Pod-Parser CPAN distribution, so I’m forwarding this ticket. On Sat Aug 27 12:46:57 2011, genesullivan50@yahoo.com wrote: Show quoted text
> This is a bug report for perl from gsullivan@cpan.org, > generated with the help of perlbug 1.39 running under perl 5.12.4. > > The podchecker core utility has a bug. > It incorrectly generates an error message when a multi-line quoted > string contains a "=" at the beginning of a line.� Consider the > following > Perl code in a file named test.pl (the code is between the #### > lines): > > ################## start of code ################################ > > =head1 foo > > � bar > > =cut > > > print <<'EOF'; > > ========== > > hello world > > ========== > > EOF > > ################# end of code #################################### > > > When executed, the code correctly generates the output: > > $ perl test.pl > > ========== > > hello world > > ========== > > > When I look at the POD using perldoc, it shows what I expect: > > $ perldoc test.pl > > foo > ���� bar > > > But, when I run podchecker, I get these error messages unexpectedly: > > $ podchecker test.pl > > *** ERROR: Unknown command '========' at line 10 in file test.pl > *** ERROR: Unknown command '========' at line 14 in file test.pl > test.pl has 2 pod syntax errors. > > > This happens with other quote operators as well, not just inside here- > docs. > > To avoid the podchecker error, I can just add a single space before > each line of ='s. > > Thanks, > Gene > � > > --- > Flags: > ��� category=core > ��� severity=low > --- > Site configuration information for perl 5.12.4: > > Configured by gecko at Mon Jun 20 18:32:45 2011. > > Summary of my perl5 (revision 5 version 12 subversion 4) > configuration: > �� > � Platform: > ��� osname=MSWin32, osvers=5.2, archname=MSWin32-x86-multi-thread > ��� uname='' > ��� config_args='undef' > ��� hint=recommended, useposix=true, d_sigaction=undef > ��� useithreads=define, usemultiplicity=define > ��� useperlio=define, d_sfio=undef, uselargefiles=define, > usesocks=undef > ��� use64bitint=undef, use64bitall=undef, uselongdouble=undef > ��� usemymalloc=n, bincompat5005=undef > � Compiler: > ��� cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 > -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE > -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO > -D_USE_32BIT_TIME_T -DPERL_MSVCRT_READFIX', > ��� optimize='-MD -Zi -DNDEBUG -O1', > ��� cppflags='-DWIN32' > ��� ccversion='12.00.8168', gccversion='', gccosandvers='' > ��� intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 > ��� d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 > ��� ivtype='long', ivsize=4, nvtype='double', nvsize=8, > Off_t='__int64', lseeksize=8 > ��� alignbytes=8, prototype=define > � Linker and Libraries: > ��� ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf > -libpath:"C:\Perl\lib\CORE"� -machine:x86' > ��� libpth=\lib > ��� libs=� oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib > comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib > netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib� version.lib > odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib > ��� perllibs=� oldnames.lib kernel32.lib user32.lib gdi32.lib > winspool.lib� comdlg32.lib advapi32.lib shell32.lib ole32.lib > oleaut32.lib� netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib > version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib > ��� libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl512.lib > ��� gnulibc_version='' > � Dynamic Linking: > ��� dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' > ��� cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug > -opt:ref,icf� -libpath:"C:\Perl\lib\CORE"� -machine:x86' > > Locally applied patches: > ��� ACTIVEPERL_LOCAL_PATCHES_ENTRY > ��� c6fbf28 [perl #71806] perldb does not setup %dbline with the > shebang option -d > ��� 1fd8fa4 Add Wolfram Humann to AUTHORS > ��� f120055 make string-append on win32 100 times faster > ��� a2a8d15 Define _USE_32BIT_TIME_T for VC6 and VC7 > ��� 007cfe1 Don't pretend to support really old VC++ compilers > ��� 6d8f7c9 Get rid of obsolete PerlCRT.dll support > ��� d956618 Make Term::ReadLine::findConsole fall back to STDIN if > /dev/tty can't be opened > ��� 321e50c Escape patch strings before embedding them in patchlevel.h > > --- > @INC for perl 5.12.4: > ��� C:\Program Files (x86)\Coda\Perl\lib > ��� C:/Perl/site/lib > ��� C:/Perl/lib > ��� . > > --- > Environment for perl 5.12.4: > ��� HOME (unset) > ��� LANG (unset) > ��� LANGUAGE (unset) > ��� LD_LIBRARY_PATH (unset) > ��� LOGDIR (unset) > ���
PATH=C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Show quoted text
> Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\NTRU > Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\NTRU > Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave > Systems Corp\Gemalto\Access Client\v5\;C:\Program > Files\WIDCOMM\Bluetooth Software\;C:\Program > Files\WIDCOMM\Bluetooth Software\syswow64; > ��� PERL5LIB=C:\Program Files (x86)\Coda\Perl\lib > ��� PERL_BADLANG (unset) > ��� SHELL (unset)
-- Father Chrysostomos
This is not a bug. The problem is that if one would want to fix this ENTIRELY, the Pod parsing utilities would have to use the SAME parser as Perl itself - which is rather heavy-weight for a simple purpose like Pod (the embedded documentation). Please do not expect a fix here. If I may suggest a workaround: my $text = <<"EOT"; #=========================== # my text here #=========================== EOT $text =~ s/^#//m; # remove comment; required to escape the = from being interpreted as POD print $text; HTH, Marek
Not a bug.