I'm matching against text typed in by the user.. It's read and passed on like this:
*imagine IO::Socket, IO::Select code here*
..
$line = <STDIN>;
chomp($line);
parse_command($line);
..
sub parse_command
{
my ($data) = @_;
..
if($data =~ /^tell (.+?)\@(.+?) (.+)$/)
{
@args = ($2, 'tell', $1, $3);
}
..
if(@args)
{
$i2->send(@args);
}
}
..
sub send
{
my ($me, $dest, $request, @params) = @_;
..
if($dest ne 'all' && !defined($testmud = $me->getMudName($dest)))
...
}
Does that answer the question, more or less? ;)
C. |