in reply to Create Hash from array structure
It's not at all obvious from your question what you are aiming for here. This might be something like what your after, though it is limited to calculating grades from just 4 Students as is, but maybe it will get you started. It would be fairly easy to extend this to deal with any number of students or scores, but I couldn't see any pattern in how you are deriving your constant factors.
#! perl -slw use strict; # do open and lock stuff my @students = map{ [ split ] } <DATA>; print "Student scores\n------------"; print "@$_" for @students; my %grades; for my $grade ( 0 .. 2 ) { $grades{ $grade } = $students[ 0 ][ $grade ] * 0.2 + $students[ 1 ][ $grade ] * 0.25 + $students[ 2 ][ $grade ] * 0.25 + $students[ 3 ][ $grade ] * 0.3 } print "\nGrades\n--------"; print "$_ => $grades{ $_ }" for sort keys %grades; =Output P:\test>337154 Student scores ------------ 1 2 3 2 1 3 3 1 2 3 2 1 Grades -------- 0 => 2.35 1 => 1.5 2 => 2.15 =cut __DATA__ 1 2 3 2 1 3 3 1 2 3 2 1
|
|---|