Recipe 23.0. Introduction Recipe 23.1. Creating or Opening a Local File Recipe 23.2. Creating a Temporary File Recipe 23.3. Opening a Remote File Recipe 23.4. Reading from Standard Input Recipe 23.5. Reading a File into a String Recipe 23.6. Counting Lines, Paragraphs, or Records in a File Recipe 23.7. Processing Every Word in a File Recipe 23.8. Picking a Random Line from a File Recipe 23.9. Randomizing All Lines in a File Recipe 23.10. Processing Variable-Length Text Fields Recipe 23.11. Reading Configuration Files Recipe 23.12. Modifying a File in Place Without a Temporary File Recipe 23.13. Flushing Output to a File Recipe 23.14. Writing to Standard Output Recipe 23.15. Writing to Many Filehandles Simultaneously Recipe 23.16. Escaping Shell Metacharacters Recipe 23.17. Passing Input to a Program Recipe 23.18. Reading Standard Output from a Program Recipe 23.19. Reading Standard Error from a Program Recipe 23.20. Locking a File Recipe 23.21. Reading and Writing Custom File Types Recipe 23.22. Reading and Writing Compressed Files |