Moin Moin !
Ist das zuviel des Guten? Oder reicht zum Beispiel die Erkennung eines Fehlers beim DBS, wenn ein Wert nicht Null sein darf?
Das sieht zwar aus wie eine Ja/Nein-Frage, ist aber keine.
Wenn es vor allem auf Sicherheit ankommt, kann man kaum paranoid genug sein. Eine Library-Funktion, die Werte ungeprüft übernimmt, würde ich schon als Sabotage ansehen -- es sei denn, in der Beschreibung der Library-Funktion steht exakt drin, daß man vorher selbst überprüfen muß, was man an Werten übergibt.
Wenn es vor allem auf Geschwindigkeit ankommt: Grob überprüfen, ob die Eingaben ungefährlich sind, dann rein ins System und abwarten, ob es knallt. Wenn es knallt, Fehler ausgeben.
Es gibt zum Verhältnis Hauptprogramm und Library in der Perl-Doku (perlmodlib) zwei sehr schöne Absätze, besonders der zweite trifft auf Dein Problem zu:
Perl does not enforce private and public parts of its modules as you may have been used to in other languages like C++, Ada, or Modula-17. Perl doesn't have an infatuation with enforced privacy. It would prefer that you stayed out of its living room because you weren't invited, not because it has a shotgun.
The module and its user have a contract, part of which is common law, and part of which is "written". Part of the common law contract is that a module doesn't pollute any namespace it wasn't asked to. The written contract for the module (A.K.A. documentation) may make other provisions. But then you know when you use RedefineTheWorld that you're redefining the world and willing to take the consequences.
Alexander
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"