camotito wrote:
Hello!
I am using perl on msys in a windows operating system.
I was manipulating a file with .TAB extension. This is a file with 10
(or so) columns separated by tabs.
I store each line in an array, after doing modifications to a couple
of fields I print the array in another file using this line :
print FHO "@values\n";
The program I am using (that is running over windows) can only read
the first line in the modified file. When I open the modified file
with notepad I see an square at the end of each line.And all the lines
are in one line.
The original .TAB file doesn't show that square character, and the
lines appear one below each other.
Wich character should I use to have a file similar to the original
one? And also, how can I print an array so there are tabs between the
different fields, instead of a single space?
The square character will be a non-printable character, possibly in your
array data or maybe because the newline character isn't being handled
properly. Try just
print FHO "---\n";
and see whether that comes out ok, or if it also has a square at the end.
To print your array with tab characters between the elements you can do
either
print join("\t", @values), "\n";
or
{
local $" = "\t";
print "@values\n";
}
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/