son dos archivos los que tenés que crear uno el file.pm y otro el script.pl en donde solo tienes
Código:
my($dbh,$sth);
$dbh = file->connect();
$sth = $dbh->prepare('select max(id_tabla1)+1 numero from tabla1') or die("Couldn't prepare statement: " . $dbh->errstr);
$sth->execute() or die("Couldn't execute statement: " . $sth->errstr);
my $maxnum = $sth->fetchrow_array();
$sth->finish;
$sth1-> $dbh->prepare('insert into tabla1 (id_tabla1) values ($maxnum')
$sth1->execute() or die("Couldn't execute statement: " . $sth->errstr);
$sth1->finish;
$dbh->disconnect;
Pero tienes un error en
$sth1-> $dbh->prepare('insert into tabla1 (id_tabla1) values ($maxnum')
$sth1->execute() or die("Couldn't execute statement: " . $sth->errstr);
debe ser así
$sth1-> $dbh->prepare('insert into tabla1 id_tabla1 values ?');
$sth1->execute($maxnum) or die("Couldn't execute statement: " . $sth->errstr);
Así le estás mandando el $maxinum a través de la función execute
Obviamente antes de esas líneas (en script.pl) tenés que llamar al intérprete y llamara tu librería file.pm...Lo tienes en el tutorial...
Saludos