use strict;
use warnings;
+use Bugzilla::Logging;
use CGI;
use base qw(CGI);
sub param {
my $self = shift;
+ # We don't let CGI.pm warn about list context, but we do it ourselves.
+ local $CGI::LIST_CONTEXT_WARN = 0;
+ state $has_warned = {};
+
+ ## no critic (Freenode::Wantarray)
+ if ( wantarray && @_ ) {
+ my ( $package, $filename, $line ) = caller;
+ if ( $package ne 'CGI' && ! $has_warned->{"$filename:$line"}++) {
+ WARN("Bugzilla::CGI::param called in list context from $package $filename:$line");
+ }
+ }
+ ## use critic
+
# When we are just requesting the value of a parameter...
if (scalar(@_) == 1) {
my @result = $self->SUPER::param(@_);