my $other_secret = Crypt::SecretBuffer->new("Foo");
$password->unmask_secret_to(\&do_something, $user, $password, $other_secret);
####
my $other_secret = Crypt::SecretBuffer->new("Foo");
$password->unmask_to(sub($pass) { do_something($user, $pass, $other_secret) });
##
##
use 5.036;
*unmask_secrets_to =
eval { require Crypt::SecretBuffer; \&Crypt::SecretBuffer::unmask_secrets_to }
|| sub($cb, @args) { &$cb(@args) }
;
sub private_fn {
say "@_";
}
sub my_api_function($user, $password, $secret) {
unmask_secrets_to(\&private_fn, $user, $password, $secret);
}