Yes, it is quite easy to do that in Perl. Probably not much more than a dozen code lines.

One way to do it would be first to read the template file and store its contents in memory (probably as an array), so that you can then read it in order for each of your data files.

Then read your file list line by line, and, for each line, read the corresponding file content into a hash. Then scan the array, lookup the corresponding file content, put the file content into the right order, and dump it to a file.

One thing to take into account is that you normally can't edit a file in place (well, you can with a work around, but it's better and safer not to do it). So it is probably easier to output your result into files having the same names as the input files, but in another directory. Then you remove the old files only when you're confident that they have been successfully converted. This is much safer.

We would really need a sample of the input file to help further.


In reply to Re: re-ordering lines of text in a file? by Laurent_R
in thread re-ordering lines of text in a file? by moddingforfun

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.