[Cascavel-pm] Instanciando um objeto...

Marcia Henke mhenke em inf.ufrgs.br
Segunda Janeiro 20 06:07:52 CST 2003


Olá pessoal !!

Estou usando perl 5.6.1, em um SO SuSE7.3.
Estou com um pequeno problema na instanciação do meu objeto tipo hashes.
Criei um pacote ServicesStatus.pm e quero intanciá-lo, mas estou tendo o
seguinte erro:

ServicesStatus.pm did not return a true value at ./instanciaHashes.pl line
3.
BEGIN failed--compilation aborted at ./instanciaHashes.pl line 3.

Meu pacote .pm inicia da seguinte forma :

package ServicesStatus;

my %flags = ();

sub new {
  my $type = shift;
  my $self = {};
  _readStatusFile();
  $self->{status} = \%flags;
  return bless $self, $type;
}

sub _readStatusFile {
  open (FILE, "< services.dat") or die "Impossível abrir services.dat:$!";
  while (<FILE>) {
    chomp;
    ($key, $value) = split(" ", $_, 2);
    if ($key && $value) {
      $flags{$key} = $value;
    }
    print "O valor da chave $key é $value.\n";
  }
  close (FILE);
}

E a classe de instancia é um .pl que esta implementado da seguinte forma :
#!/usr/bin/perl -w

use ServicesStatus;

my $obj = new ServicesStatus();

O que estou fazendo errado ???

Agradeço a atenção
Márcia






Mais detalhes sobre a lista de discussão Cascavel-pm