Moin Moin!
Zeig Code. Wenigstens die Stelle, die Perl in der Fehlermeldung bemängelt. Und die Fehlermeldung natürlich auch.
Das ist ja meine alte Kritik an -T. Du bekommst einfach keinen Fehler.
Dann machst Du was falsch. -T bricht Dein Script mit einer Fehlermeldung ab, wenn Du mit getainteten Werten eine der dokumentierten kritischen Funktionen aufrufst.
Allenfalls Folgefehler von nicht initialisierten Variablen.
Nein. Du machst etwas fürchterlich falsch. Hast Du einen eval-Block rund um den Teil des Codes, der die kritischen Funktionen aufruft? Dann sieh Dir mal $@ genauer an! Diese Funktionen erzeugen mit -T bei getainteten Exceptions, und die kannst Du mit eval abfangen. Exakt wie die(), nicht wie exit().
Statt dass ein Script sofort abbricht, läuft es Seelenruhig weiter und lässt dich in den Datengau laufen.
Nein. Getaintete Parameter für die kritischen Funktionen führen sofort zum Abbruch. Du sitzt vermutlich in einem eval-Block.
Was erwartest Du denn, was Perl sonst machen sollte? $ENV{'PATH'} ist tainted. Soll das Script deswegen sofort abbrechen, obwohl $ENV{'PATH'} gar nicht genutzt wird? (Analog z.B. mit $0 und $^X.) Du mußt wenigstens die Chance haben, die Daten zu validieren oder durch saubere Werte zu ersetzen.
perlsec hast Du gelesen und verstanden?
ja jein
Dann um so mehr: Zeig Code!
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".