In addition to what Shlomi has mentioned, I will add:
On May 3, 2012, at 4:34 AM, venkates wrote:
> sub parse {
>
> my $pazar_file_path = shift;
> my $pazar_data; # ref to a hash holding the parsed data
>
> open FH, '<', $pazar_file_path or croak ( "Cannot open file
> '$pazar_file_path': $!" );
> while ( my $data = <FH> ) {
>
> chomp $data;
> my @record_lines = split /\t/, $data;
> my ( $pazar_p_id, $prot_id, $pazar_g_id, $ensembl_id ) = splice (
> @record_lines, 0, 4 );
The above two lines can be replaced with:
my ( $pazar_p_id, $prot_id, $pazar_g_id, $ensembl_id, @record_lines ) =
split /\t/, $data;
> push @{ $pazar_data->{$pazar_p_id}{$prot_id}{$pazar_g_id}{$ensembl_id}
> }, @record_lines;
If you don't want to save the duplicate lines, assign a reference to an array
instead of pushing each new line to the end:
$pazar_data->{$pazar_p_id}{$prot_id}{$pazar_g_id}{$ensembl_id} =
[@record_lines];
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/