in reply to String wraps after a replace operation
Study this script, then run it.
use strict; use warnings; my $line = <DATA>; my $rt = <DATA>; my $cached_line = $line; $line =~ s/Kept/Resold/g; $line =~ s/,-1,/,$rt,/g; print $line; $line = $cached_line; chomp $rt; $line =~ s/Kept/Resold/g; $line =~ s/,-1,/,$rt,/g; print $line; __DATA__ 2013-06-13 19:00,2013-06-13,2013-06-01,212276,375296,-1,1461599,1434,6 +1073,US,Kept,300x250,1,0,0.25,0.00025 275805
This is what it prints.
2013-06-13 19:00,2013-06-13,2013-06-01,212276,375296,275805 ,1461599,1434,61073,US,Resold,300x250,1,0,0.25,0.00025 2013-06-13 19:00,2013-06-13,2013-06-01,212276,375296,275805,1461599,1434,61073,US,Resold,300x250,1,0,0.25,0.00025
Does this help you understand the likely problem? As toolic suggested, the variable $rt probably has more in it than you think it does; namely, a trailing newline. If this is the problem, then the solution is to remove the newline using chomp.
Your problem likely has nothing to do with "wrapping," so forget about using Text::Wrap.
Jim
In Section
Seekers of Perl Wisdom