This document discusses strategies for testing scripts using Test::More and Test::Trap. It addresses problems like scripts running as separate processes, loose code acting as main, exceptions and exit codes, providing stdin/stdout/stderr, stubbing and mocking, and more. Fifteen strategies are presented with "Problem", "Solution", and "But" sections to discuss challenges and additional considerations.