#! /usr/bin/perl open (GRADE,"csy.grades"); #open (WEGIHT, "csy.weight"); $i=0; while (($line = ) ne "") { $arr_grade[$i]= $line; $i+=1; } $i=0; foreach $stud (@ARGV) { $i=0; $sum=0; $cnt=0; while ($i <= $#arr_grade) { if ( $arr_grade[$i] =~/^$stud/ ) { @a = split/#/,$arr_grade[$i]; $id=$a[0]; $name=$a[1]; $id_course=$a[2]; $grade=$a[4]; $weight= find_weight($id_course); $sum+=$weight*$grade; $cnt+=$weight; } $i+=1; } print "$id $name ", $sum/$cnt ,"\n"; # print "$id $name\n"; } close GRADE; #close WEGIHT; ############################################################ sub find_weight{ open (WEGIHT, "csy.weight"); while () { if ($_=~/^@_#/) { my @b=split/#/,$_; return $b[2]; } } close WEGIHT; }