The actual program is here: please forget ARGV0 and ARGV2foreach my $affyscore ( sort keys %{$row{$origin{$pip{$probe +set_id}}}}){ print "$affyscore\t"; foreach my $gc ( sort keys %{$row{$origin{$pip{$probeset_id{$affyscore +}}}}}){ . . .
#!/usr/bin/perl -w use strict; use warnings; ###################################################################### +############### # Open Input and Output Files + # ###################################################################### +############### if( @ARGV < 1){ print " Enter input file\n"; exit 0; } open(INPUT2,$ARGV[0]) || die "Cannot open file \"$ARGV[0]\""; # Analys +is file my @data =(); my %row =(); while(<INPUT2>){ chomp; @data=split (/\t/,$_); my $probeset_id = $data[0]; my $origin = $data[1]; my $probeseq = $data[2]; my $pip = $data[3]; my $gc = $data[4]; my $affyscore = $data[5]; $row{$origin}{$pip}{$probeset_id}{$affyscore}{$gc} =$probeseq; } print "Fished establishing hashs.\n"; foreach my $origin(sort keys %row) { print "\n$origin\t"; foreach my $pip (sort keys %{$row{$origin}}){ print "$pip\t"; foreach my $probeset_id (sort keys %{$row{$origin{$p +ip}}}){ print "$probeset_id\t"; foreach my $affyscore ( sort keys %{$row{$orig +in{$pip{$probeset_id}}}}){ print "$affyscore\t"; foreach my $gc ( sort keys %{$row{$origin{$pi +p{$probeset_id{$affyscore}}}}}){ print "$gc\t"; foreach my $probeseq ( sort keys %{$row{$origi +n{$pip{$probeset_id{$affyscore{$gc}}}}}}){ print "$probeseq\t"; print "\n"; } } } } } } close (INPUT2);
In reply to Complex Data Structure by sesemin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |