I\'m quite new to Perl and I\'m trying to build a hash recursively and getting nowhere. I tried searching for tutorials to dynamically build hashes, but all I could find wer
This is a bit far-fetched, but it works:
sub insert {
my ($ref, $head, @tail) = @_;
if ( @tail ) { insert( \%{$ref->{$head}}, @tail ) }
else { $ref->{$head} = '' }
}
my %hash;
chomp and insert \%hash, split( '/', $_ ) while <>;
It relies on autovivification, which is admittedly a bit advanced for a beginner.
What would probably make any answer to your question a bit twisted is that you ask for empty strings in the leaves, which is of a different "type" than the hashes of the nodes, and requires a different dereferencing operation.