in reply to slurp mode
Don’t use two-argument open. It’s dangerous.
And if you do, at least don’t omit the mode as well. That’s doubly dangerous.
Otherwise, there is opportunity for someone to do mischief, should any user input ever get close to your $filename. Stay away. Be explicit. Use three-argument open and always fasten your seatbelt.
As far as slurping is concerned, as others have mentioned, you want to explicitly undefine $/, so that Perl won’t waste effort splitting the input into lines, only to then waste more effort gluing them back together. I tend to do this using a do {} block, much like those which tinita posted, because I rarely need to slurp files in more than one place in my code.
Makeshifts last the longest.
|
|---|