| 1 | package WeBWorK::Utils; |
1 | package WeBWorK::Utils; |
| 2 | |
|
|
| 3 | use base qw(Exporter); |
2 | use base qw(Exporter); |
| 4 | |
3 | |
|
|
4 | use strict; |
|
|
5 | use warnings; |
|
|
6 | use Date::Format; |
|
|
7 | use Date::Parse; |
|
|
8 | |
| 5 | our @EXPORT = (); |
9 | our @EXPORT = (); |
| 6 | our @EXPORT_OK = qw(runtime_use readFile); |
10 | our @EXPORT_OK = qw(runtime_use readFile formatDate); |
| 7 | |
11 | |
| 8 | sub runtime_use($) { |
12 | sub runtime_use($) { |
| 9 | return unless @_; |
13 | return unless @_; |
| 10 | eval "require $_[0]; import $_[0]"; |
14 | eval "require $_[0]; import $_[0]"; |
| 11 | die $@ if $@; |
15 | die $@ if $@; |
| … | |
… | |
| 18 | local $/ = undef; |
22 | local $/ = undef; |
| 19 | my $result = <INPUTFILE>; |
23 | my $result = <INPUTFILE>; |
| 20 | close INPUTFILE; |
24 | close INPUTFILE; |
| 21 | return $result; |
25 | return $result; |
| 22 | } |
26 | } |
|
|
27 | |
|
|
28 | sub formatDateTime($) { |
|
|
29 | my $dateTime = shift; |
|
|
30 | # "standard" WeBWorK date/time format: |
|
|
31 | # %m month number, starting with 01 |
|
|
32 | # %d numeric day of the month, with leading zeros (eg 01..31) |
|
|
33 | # %y year (2 digits) |
|
|
34 | # %I hour, 12 hour clock, leading 0's) |
|
|
35 | # %M minute, leading 0's |
|
|
36 | # %P am or pm (Yes %p and %P are backwards :) |
|
|
37 | return time2str "%m/%d/%y %I:%M%P", $dateTime; |
|
|
38 | } |
|
|
39 | |
|
|
40 | sub parseDateTime($) { |
|
|
41 | $string = shift; |
|
|
42 | return str2time $string; |
|
|
43 | } |