Is this the best way to do that?
There is no single answer to your question. There are so many definitions of 'best'. Here are a few possibles.
- Easiest to code.
- Quickest to run.
- Most reliable.
- Easiest to maintain.
- Most flexible.
And the answer to each of these definitions of 'Best', will depend on many other factors. Some examples
- How many files?
- How big are the files?
- How many changes?
- How often will the changes need to be made?
- How reliable does the process need to be?
If the process gets interupted by system failure or other unforeseen eventuality, do you need to know which files were processed and which weren't? If some files were re-processed, would this be benign repetition?
- How fast does the process need to be?
If you provide answers to the appropriate subset of these questions for your applications needs, then you may get answers that are truely applicable to you.
Even if your goal is pure speed, the best solution for 1000 x 20k files is likely to be completely different to that for 100 x 200k files or 10 x 2MB files. Slurping to an array of lines is rarely, if ever, as quick as slurping to a scalar, but whether slurping to a scalar is a viable option depends very much on the criteria for your search and replacement requirements.
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
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.