Kan man på nått sätt använda dessa två funktioner i samma program fast dom ligger i olika moduler?
bind_columns();
&
dataseek();
För vad jag förstår så måste kopplingen till databasen vara denna: $dbh = Mysql->connect();
till dataseek();
och denna: $dbh =DBI->connect();
till bind_columns();
Visst kan du använda båda modulerna samtidigt, men det blir nog svårt att använda det på samma data. Alternativ till bind_columns för Mysql har jag inget, utan att du sköter detta själv (= något långsammare). Alternativ till dataseek ifall du inte använder Mysql brukar vara pseudokolumnen rownum. Det är alltså inte en riktik kolumn i databasen utan ett index som skapas när du använder select. Oracle är ett exempel på databas som använder rownum. Annars får du använda ett vanligt räknar-fält i tabeller som du söker på.
Skulle man inte kunna skapa en egen modul med både
dataseek();
bind_columns(); :stud
Antar att det går att göra?
Men får man kopiera koden från olika moduler och lägga in dom i en egen?
Hur gör man för att kunna använda den om man anväder sig av ett webbhotell med CGI rättigeheter.
Jag mena om jag har en egen modul så kan jag inte installera den i deras Perl :)
Problemet är att dessa moduler troligtvis innehåller maskinkod skriven i C, som används för själva kopplingen mot MySQL-klienten. Det räcker alltså inte alltid att bara kopiera perl-koden rakt av till en egen modul och förvänta sig att den skall fungera (en del moduler är rena perl-moduler, men många är det inte).
Rent tekniskt kan du skriva en egen modul som ärver av andra moduler, för att sedan lägga till egna metoder (eller modifiera befintliga). I.s.f. behöver du läsa objektorientering i Perl, om du inte gjort det.
Perlmoduler kan installeras på valfritt ställe (inklusive din hemkatalog t.ex.). Allt man behöver göra är att tala om för skriptet var de kan hittas, och det gör man lämpligen med use lib.