use 5.010;
use strict;
use warnings;
my $x = 23;
my $y;
debug("x='$x' y='$y'");
debug(sprintf "x='%s' y='%s'", ($x // ''), ($y // ''));
sub debug {
say shift
}
####
use 5.010;
use strict;
use warnings;
my $x = 23;
my $y;
debug({x => $x, y => $y});
sub debug {
my ($d) = @_;
my $s = join ' ', map { sprintf("$_='%s'", ($d->{$_} // '')) } sort keys %$d;
say $s;
}
##
##
use 5.010;
use strict;
use warnings;
my $x = 23;
my $y;
debug("x='%s' y='%s'", $x, $y);
sub debug {
my ($fmt, @params) = @_;
printf "$fmt\n", map { $_ // '' } @params;
}