in reply to Text File Manipulation
As already stated, your question is somewhat vague and doesn't give us a lot to work on. We're happy to help you out with things you're stuck on (e.g. some aspect of Perl you're having difficulty understanding) but this is not a code writing service. Another good resource to help you improve your posts is "How do I post a question effectively?".
"... without changing the row format like padding and spacing."
$ perl -e ' my $fmt = "%7s %7s %7s\n"; my $x = "JO EMS Math"; my $y = "Jon EMS Physics"; printf $fmt, split " ", $_ for $x, $y; ' JO EMS Math Jon EMS Physics
|Replies are listed 'Best First'.|
Re^2: Text File Manipulation
by sabas (Acolyte) on Jan 14, 2020 at 08:28 UTC
I apologize for my elementary coding in Perl. I am a beginner and I been debugging this for a over 3 days and i cannot figure out....the idea i am making is this: file1.txt aaa bbb ccc file2.txt ddd eee fff ggg hhh ggg file3.txt should looks like these: aaa bbb ccc ggg hhh ggg the length of my rows are over 381 and when i wrote it to file3.txt the length becomes < 200 and the padding (space) for each column became one space only per column.
and the padding (space) for each column became one space only per column.
`echo $row >> $EGIS_table_fileName_tmp`; # THIS IS NOT WORKINGGGGGGGGGGGGGGGGGGGGGGGGG!
(which you are already using), is just an abbreviation for
and instead of
where open and close are effectively useless, you should use
(I prefer to put the file handle after print without a space to help remembering there's no comma after the file handle)
If you feel adventurous, you might to look over Text::Table Tutorial, but that's an advanced topic, just to see what's possible.
Your code is frightening. You need to learn how to read code and understand what's happening inside it. Your code has three different places where you're creating the desired row of data (one which looks just fine) and then you're playing with temporary files in desperate attempts at trying to somehow get the data into the file you want.
It looks like it would work if you'd remove all the junk you don't really need. I was able to cut your code down into something that looks reasonable in less than 40 lines. I'd ordinarily make a long post describing some ways to improve your code, but I don't have the time to do it today. Instead I'll show you the line that looks like it would work (I changed @rows to $rows to eliminate a warning):
Since that line puts the data in the correct format into @rows, you can delete the code dealing with temporary files and just write the @rows data to the output file.
When your only tool is a hammer, all problems look like your thumb.