http://www.perlmonks.org?node_id=416293

theguvnor has asked for the wisdom of the Perl Monks concerning the following question:

Anybody got any neat tricks for determining at run-time whether your script was executed by a user on a command line, versus being run by another process (e.g. a cron job)? I'd like to print more verbose status info to STDOUT if run by a live user on the command line, but more compact "net" info to be piped into a text file if run by cron. I could always alter the script to look for a -v switch, but for my own illumination I was wondering if there was a way that avoided altering my script :-)

Update: thanks both Corion and jfroebe. I don't own the Cookbook, so I wasn't aware of that snippet. I did peruse the perlrun and perlvar docs before posting my question (which I should have mentioned). I never would have thought to look at the -X functions!

[Jon]