in reply to How can a script know if it's a cgi?
perlfunc: -t Filehandle is opened to a tty. #(STDIN by default)
and even perlsyn:How do I find out if I'm running interactively or not? Good question. Sometimes -t STDIN and -t STDOUT can give clues, someti +mes not. if (-t STDIN && -t STDOUT) { print "Now what? "; } On POSIX systems, you can test whether your own process group matches +the current process group of your controlling terminal as follows: use POSIX qw/getpgrp tcgetpgrp/; open(TTY, "/dev/tty") or die $!; $tpgrp = tcgetpgrp(fileno(*TTY)); $pgrp = getpgrp(); if ($tpgrp == $pgrp) { print "foreground\n"; } else { print "background\n"; }
$on_a_tty = -t STDIN && -t STDOUT; sub prompt { print "yes? " if $on_a_tty } for ( prompt(); <STDIN>; prompt() ) { # do something }
___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void
perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"
|
|---|