Section 18.1. Introduction
Recipe 18.2. Creating or Opening a Local File
Recipe 18.3. Creating a Temporary File
Recipe 18.4. Opening a Remote File
Recipe 18.5. Reading from Standard Input
Recipe 18.6. Reading a File into a String
Recipe 18.7. Counting Lines, Paragraphs, or Records in a File
Recipe 18.8. Processing Every Word in a File
Recipe 18.9. Reading a Particular Line in a File
Recipe 18.10. Processing a File Backward by Line or Paragraph
Recipe 18.11. Picking a Random Line from a File
Recipe 18.12. Randomizing All Lines in a File
Recipe 18.13. Processing Variable Length Text Fields
Recipe 18.14. Reading Configuration Files
Recipe 18.15. Reading from or Writing to a Specific Location in a File
Recipe 18.16. Removing the Last Line of a File
Recipe 18.17. Modifying a File in Place Without a Temporary File
Recipe 18.18. Flushing Output to a File
Recipe 18.19. Writing to Standard Output
Recipe 18.20. Writing to Many Filehandles Simultaneously
Recipe 18.21. Escaping Shell Metacharacters
Recipe 18.22. Passing Input to a Program
Recipe 18.23. Reading Standard Output from a Program
Recipe 18.24. Reading Standard Error from a Program
Recipe 18.25. Locking a File
Recipe 18.26. Reading and Writing Compressed Files
Recipe 18.27. Program: Unzip