#! /usr/bin/perl $home="/u/cs/class/cs131/cs131xx"; #lists submission for current programming assignment #extra column in output is for resubmission #A #B etc stuff if ($ARGV[2]) {shift @ARGV; shift @ARGV;} #skip defaults set up by alias if more present $filename=shift @ARGV; $ext=shift @ARGV; @files=`ls -grot $home/*/$filename*$ext*`; chop @files; print "searching for $filename*$ext*\n"; for ($i=0; $i<@files; $i++) { if ($files[$i] =~ m:$home/[A-Z]:o) { #print "Removing $files[$i]\n"; splice(@files, $i,1);#remove files that are in my Scripting directories which have capitals in them $i--; } } foreach $f (@files) { $f=~ s:.*\s(\d+\s+\w+\s+\d+\s+\d+\:\d+)\s+$home/(\w+)/$filename\s*(.*?)\s*$ext\s*(.*):$1 $2 $3 $4:o; #date/time seas [resubmit] $resubs++ if ($4 ne '' && $ext ne ''); $resubs++ if ($4 !~ m:^\.\w\w\w\w$: && $ext eq ''); $resubs++ if ($4 eq '' && $3 ne '' && $ext ne ''); $resubs++ if ($4 eq '' && $3 !~ m:^\.\w\w\w\w$: && $ext eq ''); } $ext='\.' if $ext eq ''; #for wa since ext could be .txt or .doc print "Total submissions=", scalar @files, ", students=", @files-$resubs, "\n"; $#files+=@files%2; for ($i=0; $i<@files-@files/2;$i++) {#2 column printing printf "%20s %-10s %10s %20s %-10s %8s\n", ($files[$i] =~ m:(\d+.*\d)\s+(\w+)\s+(\S+\s*\S*)?:), ($files[$i+@files/2]=~ m:(\d+.*\d)\s+(\w+)\s+(\S+\s*\S*)?:); #@temp=($files[$i+@files/2]=~ m:(\d+.*\d)\s+(\w+)\s+(\S+\s*\S*)?:); #print "t#=$#temp @temp|\n"; }