ANNOUNCE: Net::Telnet

Skip to first unread message

Jay Rogers

Mar 23, 1997, 3:00:00 AM3/23/97

Net::Telnet, version 3.00

Copyright (c) 1997 Jay Rogers. All rights reserved. This program
is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.

What's In It For You

. You'd like to communicate with another host or device via a
TELNET port and you'd like some specialized routines to help you
login and do other interactive things.

. You're not familiar with sockets and you want a simple way to
make client connections to TCP services.

. You want to be able to specify your own time-out while
connecting, reading, or writing.

. You're communicating with an interactive program at the other
end of some socket or pipe and you want to wait for certain
patterns to appear.

Archive Location

. $CPAN/modules/by-module/Net/Net-Telnet-3.00.tar.gz

. To find a CPAN site near you see


. Perl Version 5.002 or later

. Windows 95/NT requires Perl beta version 5.003_07 or later

. No modules are required that don't already come with a
standard distribution of Perl.


Net::Telnet allows you to make client connections to a TCP port
and do network I/O, especially with a port using the TELNET
protocol. Simple I/O methods such as print, get, and getline are
provided. More sophisticated interactive features are provided
because connecting to a TELNET port ultimately means communicating
with a program designed for human interaction. Some interactive
features include the ability to specify a timeout and to wait for
patterns to appear in the input stream, such as the prompt from a
command interpreter.

This example prints who's logged-on to the remote host sparky:

$sparky = new Net::Telnet (Host => "sparky",
Timeout => 10,
Prompt => '/[$%#>] $/');
$sparky->login($username, $passwd);
@lines = $sparky->cmd("/usr/bin/who");
print @lines;

More examples are contained in the POD user documentation.

This is an alpha version - meaning that the interface may change
in future versions. Contact me, Jay Rogers <>, if you
find any bugs or have suggestions for improvement.


User documentation in POD format is contained in the module.
Installing using "make" places a man page in the perl library
under directory "man/man3".


. To install, cd to the directory containing the unpacked
distribution and do one of the following:

a. Create a makefile by running Makefile.PL using the perl
whose library you want to install into and then running

perl Makefile.PL
make test
make install

b. To install into an alternate library, set the "prefix"
argument where you want to install. You can ignore any
errors mentioning perllocal.pod. For example:

perl Makefile.PL prefix=~/local
make test
make install

c. Alternatively, you can just copy or move
from the distribution into a directory named Net in the
Perl library.

Jay Rogers
March 20, 1997

John Macdonald

Mar 30, 1997, 3:00:00 AM3/30/97

This is a multi-part message in MIME format.

Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Randal, I hope this is readable and that it gets to you in an
appropriate form. If not, it is all Netscape's fault. :-)

Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="74747874"; name=""
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename=""

Perl 6 released!

It is with great pride that we announce the release of perl
6. This landmark issue will end forever the language wars
where some people try to argue that some other language has
a small niche in which it has an advantage over perl.

Features of this new release include:

- Unicode extension

Unicode can now be used at all levels of the

[Larry Wall: "We kept running out of single character
variable names. Now there are enough new characters to
satisfy our needs for decades, or at least for years."]

[Randall Schwartz: "JAPH! Just say 'Oh my, yes!'"]

For the moment, support for some less common scripts is
limited. (Included are Egyptian hieroglyphs and the
Sumerian, Babylonian, and Assyrian cuneiform, but there
are some limitations in support for Akkadian [not
Acadian, Acadian french is fully supported], Linear B,
Klingon, and Ogham. Still under development are Quenya,
Sindarin, and Tengwar runes.) We are looking for people
with daily colloquial experience in these languages to
help us refine this support.

Recently completed was support for Vorlon, Minbari,
Centauri, and Narn. Some of our porting assistants had
some comments.

[Kosh: "You are not yet ready for multithreading."]

[Delenn: "I would never generate a warning that was not
in your best interest."]

[Vir: "The program has become one with its inner self."
Lennier: "It's dumped core."
Vir: "That too."]

[G'Kar: "You will know pain, and you will know fear, and
then you will die()."]

[Jeffrey Sinclair: "Perl 5: Our last, best hope for
portable programming."]

[Scotty: "Captain, the Universal Translator is
off-line. The computer is upset about losing another
game of 3D chess to Mr. Spock. I canna fix it until I
reinstall perl 666 from backup."]

[Geordi LaForge: "This is the best piece of code I've
never laid eyes on."]

[Intel of Borg: "Division is futile. You will be

[Marvin: "Where's the kaboom module? I'll write the
'space' module later."]

- DWIM support

If you invoke a function that is in the library,
then perl will automatically generate the "use"
statements to include that library module, and
insert the right values into the argument list for
you. If it is not in the library, then perl will
write it for you.

[Andy Dougherty: "Well, I needed it for Configure,
anyhow. It was only a bit more work to generalize
it for perl."]

[Tim Bunce: "I was getting tired of choosing
sensible names for the module list. Now, you'll be
able to use whatever name makes the most sense to
you. TMTOWTDI."]

Used in conjunction with the Unicode extension, this
module can understand languages other than English.
However, this release only provides support for English,
French, German, Finnish, Japanese, Hebrew, and
American. For the moment, speech recognition of these
languages is limited to the upcoming MacPerl release.
The Newton and Pilot ports will shortly provide
handwriting recognition. Windows CE support for voice
recognition will be available in a few months and that
can be used as a front end to provide speech recognition
on older systems as long as they have a compatible
keyboard connector. Eventually there will be a
convertor that permits the CE keyboard connector output
to be turned into RS-232 for wider compatibility on
obscure non-Intel platforms. The working third release
is scheduled to come out 1Q00.

[Matthias Neeracher: This is not a joke.]

In addition to supporting human languages, this module
also supports computer languages. Initially, there is
support provided for Fortran, COBOL, LISP, Pascal, APL,
Visual Basic, Java, Python, TCL, Smalltalk, and ADA.
Translating to perl provides better compression than
gzip. (Well, for APL, it increases the size of most
programs, but perl still usually outperforms gzip. This
is especially true of large programs of two or more

- JIT Compiler

Included with the source distribution is a bytecode
compiled copy of all of your existing programs.
Most programs compile into just a single Unicode

[Malcolm Beattie: "I couldn't get the compiled C
code version for every possible target platform to
fit within the distribution. Maybe next time. I am
reasonably content with the Unicode optimzer, though
for next release I intend to get at least 5 programs
into each character."]

[Tom Christiansen: "Now I can use one letter replies
to questions, instead of the more expensive four
letter messages I've had to resort to in the past."]

- regular expression extensions

As with all previous release, we break new ground in
perl's support of regular exressions. The physics
community has contributed support for regular
expressions that match in up to 20 dimensions. It was
initially developed at the Jet Propulsion Labratory to
do some calculations for a theoretical FTL manifold that
would extend ramjet capabilities beyond the maximum
possible with conventional designs which are limited by
the speed of light.

- the stupid module

For those programmers who are getting tired of writing
perfect code, there is a new module "" which
selects the least obvious of possible interpretations of
ambiguous constructs. A new keyword "be" has been added
as well, so that instead of having to say "use
'stupid';" you can instead write the more grammatically
correct form of "be 'stupid';". The "be" keyword is a
synonym for the "use" keyword normally, but after you
have invoked "be 'stupid';", the "be" keywork will use
reverse the order of the INC list as it searches it.
That automatically caches the most recently used library
at the front of the list. For backward compatibility,
this reversal will not happen after "use 'stupid';".

- Genome project retrovirus

Because perl has been so valuable for genome mapping,
the biology community has provided an extension in
return. Any perl program that imports the
extension will be able to search for other perl programs
and merge parts of the code from any program it finds
into the original program. When it has enough extra
code, it spawns off a child process. This module can
take advantage of the Net::* modules, so it is not
limited to a single machine.

Some obvious extensions are currently under development:

- the existing MacPerl interface to the Apple
QuickCam is being merge with the genome
mechanisms to provide a genetically engineered
photographic memory

- the thread module will soon be merged with it to
provide enhanced support for real cloning (do
not confuse this with various operations called
cloning in some operating systems - they do not
normally work on DNA-based lifeforms)

- other extensions
- numeric forms
As well as the existing decimal (123), octal (0123),
hex (0x123), and binary (0b1010011) notations, a new
roman notation has been added (0rcxxiii). This will
be most heavily used in date manipulations.
- as well as the traditional structured statement forms,
some additional destructured statement forms
have been added.
- come from LABEL (the inverse of goto)
- goto LABEL step 5 (from COBOL 98, execute every
5'th statement while goto'ing the label)
- halting problem solved
- the halting problem has proved to be a significant
concern for business programs, this release
provides a guarantee that all programs will halt
(it was actually not too hard to solve this
seemingly intractable problem - we just added an
exponential backoff control on all memory leak
code fixes)
- starting problem solved
- systems in northern areas sometimes have difficulty
starting in cold weather, but the sun module has
usually proved to assist greatly for these users
- speed problem solved
- some speed enhancements to the previous release
had been too effective. People were discovering
that they had to use four or more exit
statements to actually terminate their programs
when the interpretor was using multiple
threads. A new exit_all statement has been
added to cause all threads to terminate within
three instructions.
- the 5.013 astronomy module has been extended with the
new linguistic support to not only track but also to
contact the residents of Hale-Bopp. This is
especially timely as Hale-Bopp is currently at its
- the extended computer language translation support, in
conjunction with the DWIM threatens to put many
consulting companies out of business as it has
almost totally automated year 2000 conversion; and
the genome extension has provided the unstoppable
delivery mechanism for this conversion. We
apologise for the problems that arose during the
beta testing period. The New York Stock Exchange
expects to be back on-line within the week. All
nuclear reactor facilities that still had computer
systems were in normal operational order yesterday.


This new release is a total re-write of perl. It was
written using Python to prototype the code, and with Visual
Basic as the final implementation language. It is fully
binary compatible with extensions compiled for perl 5, so
there should be no difficulty in upgrading for all but the
most conservative sites (and they're mostly still running
perl 4 anyhow).

Organizational note

Because of the recent special development support assistance
from Microsoft, perl 6 will initially be only released for
Windows 97. There will be time-limited demo versions
avaiable for many other systems. In a releated note, all of
Microsoft's products will henceforth publish displayable
output in POD format only, but the traditional pod
translators will still be available to convert to other
formerly common formats (e.g. *roff, HTML, SGML, ed, X, and

Due to some technical difficulties, the source code is not
available at the current time. However, as soon as the
re-write of Windows NT into perl is complete, its source
code will be made freely available under either the GNU
public licence or the artistic license. (There may be a
delay until the lawsuit from ACTRA is sorted out. They
object to the use of "artistic" and "Microsoft" in the same

In honour of the expected release of the source code,
Microsoft is adopting the new advertising slogan "Free the
Microsoft Office 97".


You can download a copy from:


The received file should look like:

--w--w--w- 1 perl perl 95672183 Apr 1 2015 perl6_000.tar.gz

And an md5 checksum:

segment fault: core dumped


Vladimir Alexiev

Mar 31, 1997, 3:00:00 AM3/31/97

Quiz: what's the connection with the following research article:
B. Stavtrup. A Proposal Regarding Invisible Logic For Object-Oriented
Languages. Journal of Object-Oriented Programming, 5(1):63-65, 1992.


Apr 1, 1997, 3:00:00 AM4/1/97

Could you email me that address again as I couldn't get it.

email = AMHa...@AOL.COM
Alt email = HAR...@MIS.BSKYB.COM

K. Healy

Apr 1, 1997, 3:00:00 AM4/1/97

What? No Ebonics support?

Dick Middleton

Apr 9, 1997, 3:00:00 AM4/9/97

John Macdonald wrote:

> It is with great pride that we announce the release of perl
> 6. This landmark issue will end forever the language wars
> where some people try to argue that some other language has
> a small niche in which it has an advantage over perl.

I still don't think it can match Fortrans ability to change the value of
caonstants. 2 + 2 = 6 .... now there's a real program.



Dick Middleton

Reply all
Reply to author
0 new messages