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; }
In reply to Re: trouble understanding boss's code
by Util
in thread trouble understanding boss's code
by DanielM0412
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |