in reply to Class::Tiny and Exporter at the same time

Hi jaandy,

use Exporter qw(import); calls Exporter's import function at compile time, which simply copies &Exporter::import to &AReport::import.

use constant mm => 25.4 / 72; etc. calls constant's import function at compile time, which sets up &AReport::mm etc.

use Class::Tiny qw(api x ...); calls Class::Tiny's import function at compile time, which sets up &AReport::api, &AReport::x, etc. The key point here is that it does not set up &AReport::import, because a class doesn't need an import method.

use AReport; calls &AReport::import - which is just Exporter's import - at compile time, which exports the functions you listed in @AReport::EXPORT in the caller's package (I guess main).

Hope this helps,
-- Hauke D