If each file really is "straight text, no carriage returns, no spaces, etc. " then all you have to do is the following from the command line:
perl -pi -e '$_=">$ARGV\n$_\n"' *.txt
This makes the assumption that all ".txt" files in your directory fit your criteria. "$ARGV" represents the current file being used if you are using the "<>" operator. When you use -p, perl assumes that there is a
while(<>){}
loop around your code and then prints $_ at the end of each iteration through the loop. The -i causes perl to be in "In-place edit" mode, which will cause each "print" statement without a filehandle to print to whatever file $ARGV currently is.
CHANGE: As jmanning2k pointed out, I forgot to put ">" in front of the file name