Rob Dixon wrote:
Noah wrote:
in line Below
let me put toether some bogus output files.
You could just describe your output. Are you getting nothing at all? Or is it
showing all lines of both files? Or none from one and all from the other? Or
just more or fewer lines than you think is correct?
Remember that non-printable characters (whitespace for instance) may not match
even though it looks the same: spaces and tab characters for instance.
looks like nothing matches. And when I open the files there is a "^M"
at the end of each line. what would be the best approach to not pay any
attention to the "^M" - search/replace?
When I capture the 'vim' man page and remove one line from one of the
files - things work fine when there is white space all over the place as
long as it matches.
Then I guess you are processing a file that originated on a Windows system?
Windows text files have a <CR><LF> sequence at the end of each record, whereas
Unix files have just <LF>. <CR> is control-M, which is why vim is showing ^M at
the end of the line.
What you need to do it to remove all whitespace from the end of lines after you
read them (from both the template and the config files) like this.
@config_file_lines = <INPUT>;
s/\s+$// foreach @config_file_lines;
Rob,
okay the necessary line feed at the end of the line is disappearing.
would it be better to something like:
@config_file_lines = <INPUT>;
s/\s+$/\n/ foreach @config_file_lines;
Cheers,
Noah
That will remove and CR or LF characters as well as spaces and tabs (and FFs
actually) so that there are no line terminators at all and the record contents
can be compared properly.
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/