Dear All,
I am trying to assign a key value pair in hash in a while loop. At the end of the loop, when I try to print the hash, it shows me the value as zero.
Also, I have a tab separated file with 6 columns, is it possible to assign the second column as key and fifth column as value pair?
Below i am putting my code:
#!/usr/bin/perl -w + use strict; use warnings; my $ctfile = "ct.tab"; my $dg; my $nt; my $min = 3; my $max = 19; my %hash; open (A, "<", $ctfile) or die "Check the file $!"; while (my $line = <A>) { chomp $line; if ($line =~ /dG\s=\s(.*?)\s/) { $dg = $1; next; } my @temp = split(/\s+/, $line); my $snum = $temp[0]; $nt = $temp[1]; # $nt =~ s/[Tt]/U/g; my $connect = $temp[4]; $hash{$nt} = $connect; } foreach my $key (keys %hash) { print "$key\t$hash{$nt}\n"; }
300 dG = -62.54 [initially -70.70] gi178893_M23263_rna_300-1 1 G 0 2 0 1 2 A 1 3 0 2 3 A 2 4 0 3 4 U 3 5 0 4 5 U 4 6 0 5 6 C 5 7 0 6 7 C 6 8 0 7 8 G 7 9 34 8 9 G 8 10 33 9 10 C 9 11 0 10 11 G 10 12 32 11 12 G 11 13 31 12 13 A 12 14 0 13 14 G 13 15 30 14 15 A 14 16 29 15 16 G 15 17 28 16 17 A 16 18 27 17 18 A 17 19 26 18 19 C 18 20 25 19
I really appreciate your help. Regards
In reply to Key value pair in hash inside while loop by newtoperlprog
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |