has something available to read. I'd like to not execute this code when there isn't something available because it will block.
This idiom will read when @ARGV is populated or when there is some data available to read on STDIN.
I can handle detecting whether @ARGV has data. What I'm not sure on is how to detect whether STDIN has something available to read. Still testing but I'm not convinced, yet, that -t, as suggested by others, will work here.