Ich schreibe Komponententests um alten Code und finde heraus, dass man die Methode " read()
" von Apache2 :: Request kopieren muss
%Vor%
Gibt es eine Möglichkeit, eine Funktion in Perl zu schreiben, um $buf
zu füllen? Ich bin mir ziemlich sicher, dass der einzige Weg, das zu tun, von XS-Code mit einem ** ist, aber ich dachte, dass ich mindestens zuerst fragen würde.
Die Verwendung von Apache2 :: Request führt direkt dazu, daher mein Wunsch, es zu verspotten.
%Vor% In einer Perl-Subroutine oder -Methode werden Parameter über das Array @_
übergeben. Elemente in diesem Array sind Aliase für die Variablen in der aufrufenden Unterklasse.
Der übliche Weg zum Entpacken von @_
besteht darin, eine Kopie wie folgt zu erstellen:
Die Zuweisung zu $buf
funktioniert in diesem Fall nicht, weil Sie nur Ihre Kopie der Variablen geändert haben. Wenn Sie jedoch den Wert in @_
direkt ändern, wirkt sich dies auf die Variable des Aufrufers aus: