Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the CGI CPAN distribution.

Report information
The Basics
Id: 81878
Status: rejected
Priority: 0/
Queue: CGI

People
Owner: Nobody in particular
Requestors: PETDANCE [...] cpan.org
Cc:
AdminCc:

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



Subject: Helper functions eat first argument if it is "CGI"
If I call: use CGI qw( :standard ); print p( 'CGI', 'is', 'fun' ), "\n"; I get: <p>is fun</p> But if I call it method style: use CGI qw( :standard ); my $q = CGI->new; print $q->p( 'CGI', 'is', 'fun' ), "\n"; I get: <p>CGI is fun</p> I'm assuming this applies to all the helper functions. I tried li(), p() and td().
Here's my output of this program: Version=3.63 First word "CGI" eaten with function form <li>I like CGI</li> <li>is fun</li> <p>is fun</p> First word "CGI" displays correctly with method form <li>I like CGI</li> <li>CGI is fun</li> <p>CGI is fun</p>
Subject: cgi-bug
Download cgi-bug
application/octet-stream 464b

Message body not shown because it is not plain text.

Thanks for the report, Andy. A patch would be welcome. Otherwise, the HTML generation code in CGI.pm is not being actively supported.
Sadly, the helper functions were written to be called like this: CGI->p('CGI is fun') When they are exported, they cannot distinguish between CGI->p() form and bare p() form. There is no easy fix for this. Lincoln
This issue has been copied to: https://github.com/leejo/CGI.pm/issues/108 please take all future correspondence there. This ticket will remain open but please do not reply here. This ticket will be closed when the github issue is dealt with.
Rejecting as per Lincoln's comment. I'm not accepting any feature requests, patches, or updates to the HTML generating functions of CGI.pm unless they are of a critical nature (i.e. fixing fundamentally broken HTML output).