my %data;
$data{a} = 1;
$data{b} = 2;
$data{c} = 3;
my $combined = join ' ',
map { "$_=$data{$_}" }
grep { $data{$_} }
sort keys %data;
####
our $a = 1;
our $b = 2;
our $c = 3;
my $combined = join ' ',
map { "$_->[0]=$_->[1]" }
grep { $_->[1] }
map { [ $_, do { no strict 'refs'; ${$_} } ] }
qw(a b c);
####
my $a = 1;
my $b = 2;
my $c = 3;
my $combined = join ' ',
map { "$_->[0]=$_->[1]" }
grep { $_->[1] }
map { [ $_, eval('$'.$_) ] }
qw(a b c);
####
my $combined;
foreach (sort keys %data) {
my $val = $data{$_};
# OR: my $val = do { no strict 'refs'; ${$_} };
# OR: my $val = eval('$'.$_);
next unless $val;
$combined .= "$_=$val ";
}
chop($combined);