从较旧的(5.8x?)版本升级到LWP 6.04之后,我注意到在永久运行的分布式应用程序中使用的一些代码开始破坏。我追溯到在POST中处理\ n的更改。
在客户端:
$post_data{'good'} = qq(This is a text line);
$post_data{'bad'} = qq(This is a first line\nThis is a second line);
my $ua = LWP::UserAgent->new();
my $response = $ua->post( $url, \%post_data );
return undef if (!defined $response);
在服务器上:
my $good = $q->param('good');
my $bad = $q->param('bad');
客户端运行服务器后得到以下内容:
$服务器端的好,因为预期最终是qq(这是一个文本行)。 然而,$ bad最终是qq(这是第一行\ r \ n这是第二行)。
有没有办法避免这种情况"有用"替换而不重写和重新部署利用LWP :: UserAgent先前行为的大量代码?