the "system" and "print" function thingy

  • Thread starter flying lumberjack
  • Start date
F

flying lumberjack

I am currently trying to learn PERL and have a very limited programing
background (QBASIC). So to do this i decided to have a bit of a mess
around with an example of a very basic telnet script from "Erik
Olson's Programming with Perl Modules". With the print function it
allows you to display the text you want to display on the clients
screen. Can you display the results from the "system" function on both
the server and the client, as i can only get it to display the results
on the server screen.

Here is the script (i did't write this):
use IO::Select;

# Create a socket to listen on.
#
my $listener =
IO::Socket::INET->new( LocalPort => 8008, Listen => 5, Reuse =>
1 );

die "Can't create socket for listening: $!" unless $listener;
print "Listening for connections on port 8008\n";

my $readable = IO::Select->new; # Create a new IO::Select
object
$readable->add($listener); # Add the listener to it

while(1) {

# Get a list of sockets that are ready to talk to us.
#
my ($ready) = IO::Select->select($readable, undef, undef,
undef);
foreach my $s (@$ready) {

# Is it a new connection?
#
if($s == $listener) {

# Accept the connection and add it to our readable
list.
#
my $new_sock = $listener->accept;
$readable->add($new_sock) if $new_sock;

print $new_sock "Welcome!\r\n";

} else { # It's an established connection

my $buf = <$s>; # Try to read a line

# Was there anyone on the other end?
#
if( defined $buf ) {

# If they said goodbye, close the socket. If not,
# echo what they said to us.
#
if ($buf =~ /goodbye/i) {
print $s "See you later!\n";
$readable->remove($s);
$s->close;


} else {
system ("$buf\n");
}

} else { # The client disconnected.

$readable->remove($s);
$s->close;
print STDERR "Client Connection closed\n";

}
}
}
}
 
G

gnari

[snipped long FAQ]

perldoc -f system
perldoc -q "Why can't I get the output of a command with system()?"

gnari
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,534
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top