in reply to Finding Minimum Value

Hi jimmy88,
You can easily create complex data structures in perl and then simply process all data in two foreachs.
#!/usr/bin/perl -w use strict; use Data::Dumper; my %student; open STUDENT, "<student.txt" or die "Cannot open student.txt: $!\n"; while (<STUDENT>) { my @student = split(':'); $student{$student[0]} = { name => $student[1] }; } close STUDENT; open GRADES, "<grades.txt" or die "Cannot open grades.txt: $!\n"; while (<GRADES>) { my @grades = split(' '); $student{$grades[0]}->{grade}->{$grades[1]} = $grades[2]; } close GRADES; print Dumper(\%student); print "\n------------------------------\n"; foreach my $id (sort keys %student) { print "Id: $id - $student{$id}->{name}\n"; my $graderef = $student{$id}->{grade}; foreach my $exam (sort keys %$graderef) { print " Exam: $exam grade: $graderef->{$exam}\n"; } }
Regards