Thread Saubere Perl-Syntax Variable in sub behalten (19 answers)
Opened by bianca at 2014-09-16 08:07

rosti
 2014-09-16 12:15
#177314 #177314
User since
2011-03-19
3471 Artikel
BenutzerIn
[Homepage]
user image
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)

View full thread Saubere Perl-Syntax Variable in sub behalten