in reply to Re: Skript help needed - RegEx & Hashes
in thread Skript help needed - RegEx & Hashes

A few typos to correct

line 24 - remove double " 
#open my $fileone, '<', "$folder/$file" or die ""$folder/$file": $!";
open my $fileone, '<', "$folder/$file" or die "$folder/$file: $!";


line 44 - same
#open my $trf, '<', "$folder/$trftable" or die ""$folder/$trftable": $!";
open my $trf, '<', "$folder/$trftable" or die "$folder/$trftable: $!";
	

line 46 remove undef
#undef = <$trf> for 1 .. 4;
<$trf> for 1 .. 4;

line 49 add declare here to expand scope of variable
my $tRNAname;	

line 57 - remove my
#my $tRNAname=$line[0];
$tRNAname=$line[0];

line 63 remove my
#my $tRNAname=$line[0];
$tRNAname=$line[0];

line 68 - remove my  ( as %hash declared earlier )
#my $hash{$tRNAname}{"5p-tR-halves"}+=$line1/$reads*1000000;
$hash{$tRNAname}{"5p-tR-halves"}+=$line1/$reads*1000000;

line 69 - change $merge after $folder to merge
#open my $merge,">>","$folder/$merge" or die "Could not open $folder/$merge : $!";
open my $merge,">>","$folder/merge" or die "Could not open $folder/merge : $!";

line 84..94 change MERGE to $merge
print MERGE $tRNAname; # print tRNA name
foreach my $tRF_type(@tRF_types) 
 {
	print MERGE"\t$hash{$tRNAname}{$tRF_type}"; # print counts for each tRF type separated by tab
 }
print MERGE"\n";# print newline
}
close TRF;
close MERGE;
close DIR;
poj
  • Comment on Re^2: Skript help needed - RegEx & Hashes

Replies are listed 'Best First'.
Re^3: Script help needed - RegEx & Hashes
by hippo (Archbishop) on Oct 11, 2018 at 20:44 UTC
    line 24 - remove double " #open my $fileone, '<', "$folder/$file" or die ""$folder/$file": $!";

    In case it isn't obvious to anyone reading this, the problem with die ""$folder/$file": $!"; is that there's nothing to say that the second " is a literal character and not simply closing the empty string started by the first " character. Here are some alternatives:

    die "'$folder/$file': $!"; # choose a different literal character die "\"$folder/$file\": $!"; # escape the inner " die qq{"$folder/$file": $!}; # use an alternative outer delimiter