: package main;
: my $m = new freemail;
: $m -> mail ();
When I first run the code I get these messages:
Assuming 'require Tk::Table;' at C:\freemail.pl line 58
Assuming 'require Tk::HList;' at C:\freemail.pl line 74
Assuming 'require Tk::Dialog;' at C:\freemail.pl line 83
"use" these in the code.
: package freemail;
: require Exporter;
freemail looks like an object. It may not need to export
anything into the caller's namespace.
: use Tk;
: require Tk;
You did this in the flatland code also. Why "use" and
"require" the same module? Read the docs on what "require" does
different from "use". Using both shows a lack of understanding.
: use Net::POP3;
: use Net::SMTP;
: use strict;
: our @ISA = qw (Exporter);
: our @EXPORt = qw (new);
That's a typo. Exporter isn't doing much in this module. It
certainly isn't exporting new().
my $m = new freemail;
Is another way to write this.
my $m = freemail->new();
It is not another way to write this.
my $m = new( 'freemail' );
There's no need to import new() into main::.
The beginning of this object might better be written like
Have you considered using a separate module for the GUI and
the mail handler? These seem like two very distinct portions of an
Charles K. Clarkson
Mobile Homes Specialist
Free Market Advocate
Don't tread on my bandwidth. Trim your posts.