#!/usr/bin/perl use 5.010; use strict; use warnings; use Crypt::CBC; use Date::Calc qw(Localtime); my $crypt = sub { my ($cb,$val) = @_; if (!defined $cb->{cipher}) { say "Debug: erzeuge Objekt"; $cb->{cipher} = Crypt::CBC->new( -key => 'foobar', -cipher => 'Blowfish', ); } if (defined $val) { return $cb->{cipher}->encrypt($val); } }; my %crypthash; say $crypt->(\%crypthash,'foo'); say $crypt->(\%crypthash,'bar');