my $nextIpIndex = 0; my @ips = ('xxx.xx.xx.xx', 'xxx.xx.xx.xx', 'xxx.xx.xx.xx', 'xxx.xx.xx.xx'); sub callBeforeRequest { @LWP::Protocol::http::EXTRA_SOCK_OPTS = ( LocalAddr => @ips[$nextIpIndex] ); if( (++$nextIpIndex) >= @ips ) { $nextIpIndex = 0; } }