in reply to Piping input as an option

jkelly:

Ahh...this reminds me of an old PBP proverb:

Interactivity: Don't reinvent the standard test for interactivity.

Try a little something like this in your code:

use IO::Interactive qw( is_interactive ); if ( is_interactive() ) { print "Show a prompt?\n"; } else { print "Gobble STDIN.\n"; }

That's the gist of IO::Interactive . Hopefully you find it helpful/useful (I sure have in the past!)

By the way, if you peek inside of the code for IO::Interactive, you'll see there are few gotchas that the module addresses that you'd need to address (read: reinvent) to be thorough. I think one of them has to do with piping in a '/dev/null'.

Kurt

PS: I swear I'm not a Damian Conway fanboy!

Replies are listed 'Best First'.
Re^2: Piping input as an option
by jkelly (Initiate) on Jul 05, 2007 at 15:38 UTC
    Thanks to you, Kurt, and citromatik for pushing me in this direction. I'm gonna check it out.

    -jkelly

    PS: Would it be so bad to be a Damian Conway fanboy?

      If being Damian Conway's fanboy is a bad thing then I don't even want to know what good is! :-)

      But, in all seriousness, Perl's best feature is the community. We have people to look up to. We have great minds that aren't afraid to go out on a limb and participate in a community. People share their code, and let other people hack on it.... I'm actually getting emotional over here.

      Best of luck with it!

      Kurt