sub myprint { print "MYPRINT: ", @_; } my $printfunc = $condition ? sub { print @_; } : \&myprint; $printfunc->("hello world\n"); #### my $printfunc = $condition ? sub { print @_; } : sub { print "MYPRINT: ", @_; }