package Ernad; use strict; use warnings; use Carp qw(confess); use Ernad::Erimp; binmode(STDOUT,':utf8'); ## constructor sub new { my $this=shift; my $class=ref($this) || $this; my $o={}; bless $o, $class; my $params=shift // {}; my $ref_param=ref $params; if(not $ref_param eq 'HASH') { confess "I need a parameter hashref, you gave me a '$ref_param'."; } foreach my $key (keys %{$params}) { $o->{$key}=$params->{$key}; } my $verbose=$o->{'verbose'} // 0; if($params->{'e'}) { $o->{'e'}=$params->{'e'}; } elsif($main::e) { $o->{'e'}=$main::e; } elsif($main::impna) { $main::e=Ernad::Erimp->new({'impna'=> $main::impna, 'verbose'=>$verbose}); $o->{'e'}=$main::e; } #else { # confess "I don't see your erimp."; #} return $o; } 1;