in reply to Scalar joining, concatenation, involving varying text

If you wanted to do this with map, here is one such approach. Note that I'm using "$i,$j,$k" -- I think it's a bad idea to use "$a" and "$b" as names for application data variables, because in Perl these names are used by the "sort" function.
my ($i, $j, $k) = (2, 0, 4); # make up some data values my $ltr = "i"; my $combined = join "", map { $_ &&= "$ltr=$_ "; $ltr++; ($_)? $_:"" } + ( $i, $j, $k ); print $combined, "\n";
But frankly, I would prefer to use a solution that puts the values into a hash and loops over the sorted hash keys, as suggested by some of the replies above. (That way, you can safely start at "a" if you want.)