2012-03-03 17 views
0

古い(5.8x?)バージョンからLWP 6.04にアップグレードした後、分散アプリケーションで使用されていたコードが永遠に壊れ始めました。私はそれをPOSTの\ nの処理の変更に追跡しました。予想通りになってしまう、サーバー側のLWP :: UserAgent 6.04、POSTの内容とコンテンツの一部としての新しい動作

$良い:サーバー上

$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は$ qとなります(これは最初の行です。\ r \ nこれは2行目です)。

LWP :: UserAgentの以前の動作を利用した膨大な量のコードを書き換えて再デプロイすることなく、この「有用な」置換を避ける方法はありますか?

+0

まあ、アップデートをロールバック以外に解決策はありませんようだコードやRTメッセージを谷に行く後。私は、モジュール、特に広く使われているモジュールのデフォルトの動作を変更すると、変更を明確に文書化せずに既存のコードを破る可能性があることだけを述べることができます。 –

答えて

関連する問題