[NUUG fiksgatami] [patch] Avoid useless localization in Email.pm
Petter Reinholdtsen
pere at hungry.com
Thu Jan 15 15:02:51 CET 2009
When visiting
<URL:http://www.fiksgatami.no/alert?y=1119;feed=local%3a3303%3a1119;x=3303>,
I see these messages in the log:
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 133.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 134.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 135.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 196.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 197.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 198.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 279.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 280.
Useless localization of scalar assignment at /srv/mysociety/bci/web/../../perllib/mySociety/Email.pm line 281.
The code in question is this:
local($Text::Wrap::columns = 75);
local($Text::Wrap::huge = 'overflow');
local($Text::Wrap::unexpand = 0);
$octets = Text::Wrap::wrap('', ' ', $octets);
local($Text::Wrap::columns = 69);
local($Text::Wrap::huge = 'overflow');
local($Text::Wrap::unexpand = 0);
my $wrapped = Text::Wrap::wrap(' ', ' ', $body);
local($Text::Wrap::columns = 69);
local($Text::Wrap::huge = 'overflow');
local($Text::Wrap::unexpand = 0);
$p->{_body_} = Text::Wrap::wrap(' ', ' ', $t);
I believe this patch is the correct way to avoid the problem, by
moving the assignment outside the local() statement.
Index: mySociety/Email.pm
===================================================================
RCS file: /repos/mysociety/perllib/mySociety/Email.pm,v
retrieving revision 1.26
diff -u -3 -p -r1.26 Email.pm
--- mySociety/Email.pm 29 Jul 2008 22:34:25 -0000 1.26
+++ mySociety/Email.pm 15 Jan 2009 14:01:05 -0000
@@ -130,9 +130,9 @@ sub format_mimewords ($;$) {
}
}
}seg;
- local($Text::Wrap::columns = 75);
- local($Text::Wrap::huge = 'overflow');
- local($Text::Wrap::unexpand = 0);
+ local($Text::Wrap::columns) = 75;
+ local($Text::Wrap::huge) = 'overflow';
+ local($Text::Wrap::unexpand) = 0;
$octets = Text::Wrap::wrap('', ' ', $octets);
$octets =~ s/\?= =\?$charset\?$encoding\?//g;
return $octets;
@@ -193,9 +193,9 @@ sub do_template_substitution ($$) {
$body =~ s#(?<!\n)(?<! )\n(?!\n)# #gs;
# Wrap text to 72-column lines.
- local($Text::Wrap::columns = 69);
- local($Text::Wrap::huge = 'overflow');
- local($Text::Wrap::unexpand = 0);
+ local($Text::Wrap::columns) = 69;
+ local($Text::Wrap::huge) = 'overflow';
+ local($Text::Wrap::unexpand) = 0;
my $wrapped = Text::Wrap::wrap(' ', ' ', $body);
$wrapped =~ s/^\s+$//mg; # Do it again because of wordwrapping indented lines
@@ -276,9 +276,9 @@ sub construct_email ($) {
$t =~ s/\r\n/\n/gs;
my $sig;
$sig = $1 if $t =~ s/(\n-- \n.*)//ms;
- local($Text::Wrap::columns = 69);
- local($Text::Wrap::huge = 'overflow');
- local($Text::Wrap::unexpand = 0);
+ local($Text::Wrap::columns) = 69;
+ local($Text::Wrap::huge) = 'overflow';
+ local($Text::Wrap::unexpand) = 0;
$p->{_body_} = Text::Wrap::wrap(' ', ' ', $t);
$p->{_body_} =~ s/^\s+$//mg;
if ($sig) {
Happy hacking,
--
Petter Reinholdtsen
More information about the fiksgatami
mailing list