Jump to content


Photo

Ajuda Com Modulo Perl Pm


  • Faça o login para participar
1 reply to this topic

#1 Brasilio Thomazo

Brasilio Thomazo

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 24/10/2009, 07:45

Bom Dia a Todos!

Eu sou novo aqui no forum, mais ja tem uns anos que prgramo em Perl, porem parei faz alguns anos pq estava programando só em PHP e Asp e resolvi retomar os estudos em Perl, porem pintou uma duvida.

É o seguinte: Tenho 3 arquivos de modulo perl .pm
São eles:
#PSP.pm
	package PSP;
	use strict;
	use warnings;
	use DBI;
	require Exporter;
	use Usuario;
	use Forum;
	our @ISA = qw (PSP::Usuario PSP::Forum);

sub new {
	my ($cl, $self) = (shift, {});
	$cl = ref($cl) || $cl;
	return bless $self, $cl;
}

sub mysqlConn {
	my ($host, $user, $pass, $db, $mycnf) = ('localhost', '', '', '`psp`', '/usr/local/mysql6/my.cnf');
	my $dsn = "DBI:mysql:database=host=$host;database=psp;mysql_read_default_file=$mycnf";
	my $dbh = DBI->connect($dsn, $user, $pass, {'RaiseError' => 1}) || die "Erro mysql " . $DBI::errstr;
	return $dbh;
}
.....

#Forum.pm
	package PSP::Forum;
	use strict;
	use warnings;
	use PSP;
	my ($db, $dbh)  = ('`psp`', PSP->mysqlConn);

sub new {
	my ($cl, $self) = (shift, {});
	$cl = ref($cl) || $cl;
	return bless $self, $cl;
}
.....

#Usuario.pm
	package PSP::Usuario;
	use strict;
	use warnings;
	use PSP;
	my ($db, $dbh)  = ('`psp`', PSP->mysqlConn());

sub new {
	my ($cl, $self) = (shift, {});
	$cl = ref($cl) || $cl;
	return bless $self, $cl;
}
......

#teste.pl
#!/usr/bin/perl -w
use PSP;
print "Content-type: text/html\n\n";

Preciso usar as funções de PSP::Usuario e PSP::Forum em meus arquivos perl (.pl) só adcionado use PSP;, até ai normal,
porem não consgo usar as funções de PSP.PM em Forum.PM e Usuario.PM, acusa o erro de (Can't locate object method "mysqlConn" via package "PSP")

Agora vem o mais incrivel, oque não estou entendendo.

Se na PSP.pm eu fizer assim
use Usuario;
use Forum;
O erro vai ser : (Can't locate object method "mysqlConn" via package "PSP" in Forum.pm line 5)

Agora se eu fizer assim
use Forum;
use Usuario;
O erro vai ser : (Can't locate object method "mysqlConn" via package "PSP" in Usuario.pm line 5)

Em resumo o modulo que carregar primeiro é rei, o segundo não podera usar as funções de PSP.pm, pq isso ein?
Não consigo intender, onde esta o erro?
E o pior é que eu nessecito usar as funções de PSP.PM nos dois Modulos e não é só a PSP->mysqlConn() tem mais.

Alguem ai pode me exclarecer essa duvida?
Desde Já eu agradeço!!

Caracas Maluco ... Postei no local errado! Que falta de atenção a minha! Moderador Desculpa ai! Se der move pro lugar correto! Desculpa ai!

Edição feita por: Brasilio Thomazo, 24/10/2009, 07:54.


#2 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 01/10/2017, 16:04

Discount Generic Amoxicilina Where To Order Drugs Overseas Munchen Purchase Doxycycl Hyc 50 Mg The Best Generic Cialis cialis price Amoxicillin Side Effects Stool Cheapest Brand Name Levitra




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq