I have this portion of code in a perl script:
  #!/usr/bin/perl
  #
  open(TTY, "+</dev/tty") or die "no tty: $!";
  system "stty  -echo cbreak </dev/tty >/dev/tty 2>&1";

When I run it from the command line, it works fine.  However, when I pipe
data into the script or run it through inetd, I get the following error:

[root at myhost /]# telnet localhost 24
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
no tty: Device not configured at /usr/sbin/spoof.pl line 4.
Connection closed by foreign host.
[root at myhost /]#

Apparently this is because there is no controlling terminal when I use a
pipe or use inetd.  How do I trick it into thinking there is a controlling
terminal?  Can I start the perl script through some other trickery, like
"bash -i -c /usr/sbin/myscript.pl"? (this didn't work btw)  

The reason I'm using the above, is I need to read input coming in character
by character.  Someone mentioned awhile back that screen had some trickery
that you could use to get around this.  But I can't find any info.  Any
solutions?

-jay

_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
http://www.mn-linux.org tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list