This is actually an interesting discussion. Let's take a look at the code for this:
# Having defined $HOME, $first, $second up above somewhere...
# Using interpolation
my $dir = "$HOME/$first/$second";
# vs. Using join
my $dir = join '/', ($HOME, $first, $second);
Personally, I find the first to be more expressive. It tells me, the reader, that you're talking about a directory structure because that's how I'm used to seeing it.
join, to me, talks about creating generic strings, usually for some cryptic file using comma-delimitation or as a way of printing out an array in a readable form.
Now, this is all personal style. I guess I'm just used to seeing it that way.
As for speed ... I haven't done the Benchmarking, but I think that interpolation might actually even be faster.
As for usability, I will agree that it's easier to manipulate a list vs. manipulating a string, but that usually doesn't really matter. Most of the time, you're manipulating said string in a recursive fashion. So, you're just adding vs. adding & subtracting (which you'd have to do if you converted the recursion to a loop).
------ We are the carpenters and bricklayers of the Information Age. Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement. |