On Sat, 7 Apr 2007, Olivier Regnier wrote:

I have a problem with my perl script with the command sed. Here is a example of my code:

# Selecting the fast server
print "Using the server called $server";
system(`/usr/bin/sed 's|\*default host=\(.*\)|\*default host=${server}|' $standard_supfile > $standard_supfile.copy`);
system('/bin/mv $standard_supfile.copy $standard_supfile');

But in console i have this message:
sed: 1: "s|*default host=(.*)|*d ...": unescaped newline inside subsitute pattern

Most likely there is a newline at the end of $server because it was output from backticks. To fix that, you'd use chomp:

chomp(my $server = `fastest_csvsup -Q -c us`);

Just a general note: Perl's s/ command does more than sed's, with less hassle, and you wouldn't have to mess with shell escapes.

-Warren Block * Rapid City, South Dakota USA
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to