It is possible to
open a file for both reading and writing, but truth be told, it is hardly ever what you want. Basically, you can only write as many bytes as you read. If you try and read "bb" and replace it with "cccccc" you are going to clobber the four bytes that come after "bb" in the file. The bytes don't shift over and make room for you.
The standard way of doing this is indeed to open a file with a different name, and then move it back over the old one when you have finished (assuming you consider that all has gone well). You can get perl to handle this automatically with the -i switch, otherwise, you can do it yourself.
Another simple thing you are forgetting to do is not checking whether your opens are working correctly, or failing silently. Check the results of the $! variable.
print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.