PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY PERL AND JUST PERL ALONE
DONE WITH PERL PERL PERL PERL PERL PERL PERL PERL
PERL
DONE IN PERL
PLEASE HELP IN PERL
PERL PERL PERL PERL PERL PERL PERL
ONE LAST TIME IN PERL PERL PERL PERL
ONLY DONE IN PERL
HERE IS DATA.CSV
Student,Catehory,Assignment,Score,Possible
Chelsey,Homework,H01,90,100
Chelsey,Homework,H02,89,100
Chelsey,Homework,H03,77,100
Chelsey,Homework,H04,80,100
Chelsey,Homework,H05,82,100
Chelsey,Homework,H06,84,100
Chelsey,Homework,H07,86,100
Chelsey,Lab,L01,91,100
Chelsey,Lab,L02,100,100
Chelsey,Lab,L03,100,100
Chelsey,Lab,L04,100,100
Chelsey,Lab,L05,96,100
Chelsey,Lab,L06,80,100
Chelsey,Lab,L07,81,100
Chelsey,Quiz,Q01,100,100
Chelsey,Quiz,Q02,100,100
Chelsey,Quiz,Q03,98,100
Chelsey,Quiz,Q04,93,100
Chelsey,Quiz,Q05,99,100
Chelsey,Quiz,Q06,88,100
Chelsey,Quiz,Q07,100,100
Chelsey,Final,FINAL,82,100
Chelsey,Survey,WS,5,5
Sam,Homework,H01,19,100
Sam,Homework,H02,82,100
Sam,Homework,H03,95,100
Sam,Homework,H04,46,100
Sam,Homework,H05,82,100
Sam,Homework,H06,97,100
Sam,Homework,H07,52,100
Sam,Lab,L01,41,100
Sam,Lab,L02,85,100
Sam,Lab,L03,99,100
Sam,Lab,L04,99,100
Sam,Lab,L05,0,100
Sam,Lab,L06,0,100
Sam,Lab,L07,0,100
Sam,Quiz,Q01,91,100
Sam,Quiz,Q02,85,100
Sam,Quiz,Q03,33,100
Sam,Quiz,Q04,64,100
Sam,Quiz,Q05,54,100
Sam,Quiz,Q06,95,100
Sam,Quiz,Q07,68,100
Sam,Final,FINAL,58,100
Sam,Survey,WS,5,5
Andrew,Homework,H01,25,100
Andrew,Homework,H02,47,100
Andrew,Homework,H03,85,100
Andrew,Homework,H04,65,100
Andrew,Homework,H05,54,100
Andrew,Homework,H06,58,100
Andrew,Homework,H07,52,100
Andrew,Lab,L01,87,100
Andrew,Lab,L02,45,100
Andrew,Lab,L03,92,100
Andrew,Lab,L04,48,100
Andrew,Lab,L05,42,100
Andrew,Lab,L06,99,100
Andrew,Lab,L07,86,100
Andrew,Quiz,Q01,25,100
Andrew,Quiz,Q02,84,100
Andrew,Quiz,Q03,59,100
Andrew,Quiz,Q04,93,100
Andrew,Quiz,Q05,85,100
Andrew,Quiz,Q06,94,100
Andrew,Quiz,Q07,58,100
Andrew,Final,FINAL,99,100
Andrew,Survey,WS,5,5
Ava,Homework,H01,55,100
Ava,Homework,H02,95,100
Ava,Homework,H03,84,100
Ava,Homework,H04,74,100
Ava,Homework,H05,95,100
Ava,Homework,H06,84,100
Ava,Homework,H07,55,100
Ava,Lab,L01,66,100
Ava,Lab,L02,77,100
Ava,Lab,L03,88,100
Ava,Lab,L04,99,100
Ava,Lab,L05,55,100
Ava,Lab,L06,66,100
Ava,Lab,L07,77,100
Ava,Quiz,Q01,88,100
Ava,Quiz,Q02,99,100
Ava,Quiz,Q03,44,100
Ava,Quiz,Q04,55,100
Ava,Quiz,Q05,66,100
Ava,Quiz,Q06,77,100
Ava,Quiz,Q07,88,100
Ava,Final,FINAL,99,100
Ava,Survey,WS,5,5
Shane,Homework,H01,50,100
Shane,Homework,H02,60,100
Shane,Homework,H03,70,100
Shane,Homework,H04,60,100
Shane,Homework,H05,70,100
Shane,Homework,H06,80,100
Shane,Homework,H07,90,100
Shane,Lab,L01,90,100
Shane,Lab,L02,0,100
Shane,Lab,L03,100,100
Shane,Lab,L04,50,100
Shane,Lab,L05,40,100
Shane,Lab,L06,60,100
Shane,Lab,L07,80,100
Shane,Quiz,Q01,70,100
Shane,Quiz,Q02,90,100
Shane,Quiz,Q03,100,100
Shane,Quiz,Q04,100,100
Shane,Quiz,Q05,80,100
Shane,Quiz,Q06,80,100
Shane,Quiz,Q07,80,100
Shane,Final,FINAL,90,100
Script:
#!/usr/bin/perl
$filename = $ARGV[0];
open (handler, $filename) || die ("Cannot open the file: $filename!");
my %assignments;
my %students;
$line = <handler>;
while ($line = <handler>)
{
($stu,$categ,$assign,$score,$pos) = split ',', $line;
if(! exists($students{$stu} ) )
{
$students{$stu} = $score;
}
else
{
$students{$stu} = $students{$stu} +
$score;
}
if(! exists($assignments{$assign}) )
{
$assignments{$assign} = $pos;
}
}
close (handler);
$max_total = 0;
my @assign_names = keys %assignments;
for my $assign_name (@assign_names)
{
$max_total = $max_total +
$assignments{$assign_name};
}
my @student_names = keys %students;
print "Name Percent Letter\n";
for my $student_name (@student_names)
{
$avg = $students{$student_name} / $max_total * 100;
if( $avg >= 90 )
{
$grade = "A";
}
elsif( $avg >= 80 )
{
$grade = "B";
}
elsif( $avg >= 70 )
{
$grade = "C";
}
elsif( $avg >= 60 )
{
$grade = "D";
}
else
{
$grade = "E";
}
my $res = sprintf("%.2f",$avg);
print "$student_name
$res $grade\n";
}
Execution and Output:
Note:
Grade is calculated by using the first method specified in the question
total earned points / total possible points.
since other method details are not given. that's why there can be some differences from given output.
PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY PERL AND JUST PERL ALONE DONE WITH ...
PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY
PERL AND JUST PERL ALONE
DONE WITH PERL PERL PERL PERL PERL PERL PERL PERL
PERL
DONE IN PERL
PLEASE HELP IN PERL
PERL PERL PERL PERL PERL PERL PERL
ONE LAST TIME IN PERL PERL PERL PERL
ONLY DONE IN PERL
HERE IS DATA.CSV
Student,Catehory,Assignment,Score,Possible
Chelsey,Homework,H01,90,100
Chelsey,Homework,H02,89,100
Chelsey,Homework,H03,77,100
Chelsey,Homework,H04,80,100
Chelsey,Homework,H05,82,100
Chelsey,Homework,H06,84,100
Chelsey,Homework,H07,86,100
Chelsey,Lab,L01,91,100
Chelsey,Lab,L02,100,100
Chelsey,Lab,L03,100,100
Chelsey,Lab,L04,100,100
Chelsey,Lab,L05,96,100
Chelsey,Lab,L06,80,100
Chelsey,Lab,L07,81,100
Chelsey,Quiz,Q01,100,100
Chelsey,Quiz,Q02,100,100
Chelsey,Quiz,Q03,98,100
Chelsey,Quiz,Q04,93,100
Chelsey,Quiz,Q05,99,100
Chelsey,Quiz,Q06,88,100
Chelsey,Quiz,Q07,100,100
Chelsey,Final,FINAL,82,100...
In PERL ***PLEASE DO NOT ASSIST WITH AWK***, generate a report containing the lowest, highest and average score for each assignment in the data file. The name of the assignment is located in column 3. Output example below: Name Low High Average Q06 77 95 86.80 L05 40 96 46.60 WS 5 5 5 Q07 58 100 78.80 L06 60 99 61 L07 77 86 64.80 H01 19 90 47.80 H02 47 95 74.60 H03 70 95 82.20 H04 46...