in reply to Perl Database connect not working in .pm file

WHOA!! WHOA!!

I don't believe that your .pl script is working fine?
put these lines...

use strict; use warnings;
at the beginning of your script!
use DBI; my $driver = "mysql"; my $database = "marketplace_perl"; my $dsn = "DBI:$driver:database=$database"; my $userid = "root"; my $password = "root"; my $dbh = DBI->connect($dsn, $userid, $password ) or die $DBI::errstr;###### my $dbh=connect_db(); ######### WHAT???#### !!!! ####### ## my $dbh is defined twice!!! my $sth = $dbh->prepare("SELECT UserEmail,UserPassword FROM pj_user wh +ere UserEmail=? and UserPassword=?"); $sth->execute($UserEmail,$UserPassword);
You redefine "my $dbh". That is a bad thing.

Your package is malformed.
See https://www.perlmonks.org/index.pl/Tutorials#Modules-How-to-Create-Install-and-Use
Show the code that calls the functions in the .pm module.
There aren't any executable statements in your .pm module and the subroutine names are not exported.