in reply to OT: from perl to php

To achieve what you want, you need to do a few things.

First, warnings. There are several ways to affect this. The INI key you're looking for is error_reporting, and you want it set to E_ALL (or, in PHP5, E_ALL | E_STRICT). You can do this by:

You still then have to tell PHP to actually display the errors. In development environments, you'll usually have this turned on, but should turn it off in production environments. Again, you need to affect an INI setting, this time 'display_errors": The final part of your request is how to execute and/or test a file from the command line. The simple answer: "php script.php" will do so. If you want to test for well-formedness, add the -l switch (lint): "php -l script.php". You can also simply parse the file, which will catch some errors that linting won't: "php -f script.php".

Finally, "php --help" gives you the above options, and more. As to the INI settings, look in the provided php.ini files, as they are very well commented.

Update: You can also pass INI settings via the CLI option '-d'. If you want E_ALL (2047) and E_STRICT (2048), and to display errors, try the following: php -d "error_reporting=4095" -d "display-errors=On" myscript.php.