| … | |
… | |
| 25 | parseDateTime |
25 | parseDateTime |
| 26 | writeLog |
26 | writeLog |
| 27 | writeTimingLogEntry |
27 | writeTimingLogEntry |
| 28 | list2hash |
28 | list2hash |
| 29 | max |
29 | max |
|
|
30 | readDirectory |
| 30 | dbDecode |
31 | dbDecode |
| 31 | dbEncode |
32 | dbEncode |
| 32 | decodeAnswers |
33 | decodeAnswers |
| 33 | encodeAnswers |
34 | encodeAnswers |
| 34 | ref2string |
35 | ref2string |
| … | |
… | |
| 49 | or die "Failed to read $fileName: $!"; |
50 | or die "Failed to read $fileName: $!"; |
| 50 | local $/ = undef; |
51 | local $/ = undef; |
| 51 | my $result = <INPUTFILE>; |
52 | my $result = <INPUTFILE>; |
| 52 | close INPUTFILE; |
53 | close INPUTFILE; |
| 53 | return $result; |
54 | return $result; |
|
|
55 | } |
|
|
56 | |
|
|
57 | sub readDirectory($) { |
|
|
58 | my ($dirname) = @_; |
|
|
59 | |
|
|
60 | opendir my $dirhandle, $dirname or die "couldn't open directory $dirname: $!"; |
|
|
61 | my @contents = readdir $dirhandle; |
|
|
62 | closedir $dirhandle; |
|
|
63 | return @contents; |
| 54 | } |
64 | } |
| 55 | |
65 | |
| 56 | sub formatDateTime($) { |
66 | sub formatDateTime($) { |
| 57 | my $dateTime = shift; |
67 | my $dateTime = shift; |
| 58 | # "standard" WeBWorK date/time format (for set definition files): |
68 | # "standard" WeBWorK date/time format (for set definition files): |