in reply to trouble understanding boss's code

It is a common practice, although not always the best idea. I often see $r or $ret (or @r, %r, @ret, %ret, etc) as the name of whatever variable will ultimately contain the value(s) to be returned. Often, the variable should instead be named in a way that makes the name itself self-document its contents or its use. I cannot tell if this would be one of those cases.

Untested, equivalent code (just because I read via refactoring):

sub read_dt2 { my ($path) = @_; open my $IFH, '<', $path or die "cannot open file '$path': $!"; my %mysterious_hash_keyed_by_nucleotide; for my $nucleotide ( qw( A C G T ) ) { local $_ = <$IFH>; $mysterious_hash_keyed_by_nucleotide{$nucleotide} = [split]; } close $IFH or warn "cannot close file '$path': $!"; return \%mysterious_hash_keyed_by_nucleotide; }

Replies are listed 'Best First'.
Re^2: trouble understanding boss's code
by DanielM0412 (Acolyte) on Jul 20, 2011 at 18:01 UTC
    thanks, i will definately try it out