Thread Saubere Perl-Syntax Variable in sub behalten
(19 answers)
Opened by bianca at 2014-09-16 08:07
Ich würds trotzdem nicht so machen, Du hast in $crypt eine Codereferenz, mehr nicht. Hinter dieser Codereferenz steckt eine Instanz der Klasse Crypt::CBC und das gibt die Codereferenz nicht preis bei einer etwaigen Fehlersuche.
Ich würde die Instanz konventionell erzeugen, das schafft klare Verhältnisse, Code (perl): (dl
)
1 2 3 4 5 6 my $cipher = Crypt::CBC->new( -key => 'foobar', -cipher => 'Blowfish', ); say $cipher->encrypt('foo'), Dumper $cipher; die entsprechende Funktion aufrufen und dann funktioniert auch der Dumper. Was darüber hinausgeht, wäre eine Delegation der Methode Crypt::CBC::encrypt, d.h., Du kannst diese Methode zu einer eigenen Methode machen. Aber auch in diesem Fall würde ich auf state verzichten und die Instanz der Klasse Crypt::CBC in einem Attribut ablegen. Edit: Beim Delegieren in eine eigene Methode kannst Du auch -key und -cipher übergeben (Falls das irgendwo zentral verwaltet wird). Last edited: 2014-09-16 12:18:25 +0200 (CEST) |