[ww-devel] Making Perl modules available

Andrew Dabrowski dabrowsa at indiana.edu
Mon Jun 29 14:22:01 EDT 2015


That's it!  Thanks!

A related question:  There are a number of functions in List::Util that 
would be useful in writing problems.  Most have been reimplemented in 
PGauxiliaryFunctions.pl, but would there be a security risk in adding 
List::Util to the real server?


On 06/29/2015 02:13 PM, Davide P. Cervone wrote:
> Try
>
> \{ Data::Dumper->Dump(@$matrix) \}
>
> and see if that works.
>
> Davide
>
>
> On Jun 29, 2015, at 2:01 PM, Andrew Dabrowski wrote:
>
>> The Data prefix didn't help.  Here's a minimal example.
>>
>> PG file:
>>
>> DOCUMENT();
>>
>> loadMacros(
>>     "PGstandard.pl",
>>     "MathObjects.pl",
>>     "PGML.pl",
>>     "PGchoicemacros.pl",
>>     "PGauxiliaryFunctions.pl",
>>     "gameTheory.pl",
>> );
>>
>> TEXT(beginproblem);
>>
>> $matrix = [ [1,2], [3,4] ];
>>
>> BEGIN_TEXT
>>
>>     \{ Data::Dumper @$matrix \}
>>
>> END_TEXT
>>
>> ENDDOCUMENT();
>>
>>
>> The output:
>>
>>
>> *Warning* -- there may be something wrong with this question. Please 
>> inform your instructor including the warning messages below.
>> (0 pts) *Problems/GameTheory/datadumper.pg*
>> \{
>>
>> *Data::Dumper ARRAY(0xdc49220)ARRAY(0xdc491f0) *
>>
>> \}
>>
>> Edit2 
>> <http://127.0.0.1/webwork2/NewGenEd/instructor/pgProblemEditor2/Undefined_Set/1/?user=admin&effectiveUser=admin&theme=&sourceFilePath=Problems/GameTheory/datadumper.pg&key=wkYIunlmy0WTpNBSIN3BL6mEWC3gyeTY> 
>> Edit3 
>> <http://127.0.0.1/webwork2/NewGenEd/instructor/pgProblemEditor3/Undefined_Set/1/?effectiveUser=admin&theme=&user=admin&key=wkYIunlmy0WTpNBSIN3BL6mEWC3gyeTY&sourceFilePath=Problems/GameTheory/datadumper.pg> 
>>
>>
>> Show correct answers
>>
>>
>> You have attempted this problem 2,000 times.
>> Your overall recorded score is 0%. (This problem will not count 
>> towards your grade.)
>> You have unlimited attempts remaining.
>>
>>
>>     WeBWorK Warnings
>>
>> WeBWorK has encountered warnings while processing your request. If 
>> this occured when viewing a problem, it was likely caused by an error 
>> or ambiguity in that problem. Otherwise, it may indicate a problem 
>> with the WeBWorK system itself. If you are a student, report these 
>> warnings to your professor to have them corrected. If you are a 
>> professor, please consult the warning output below for more information.
>>
>>
>>       Warning messages
>>
>>   * |ERROR in old_safe_ev, PGbasicmacros.pl: <PRE>|
>>   * |## There is an error occuring inside evaluation brackets \{
>>     ...code... \}|
>>   * |## somewhere in an EV2 or EV3 or BEGIN_TEXT block.|
>>   * |## Code evaluated:|
>>   * |## Data::Dumper @$matrix |
>>   * |##syntax error at line 2 of (eval 1261), near "Data::Dumper @"|
>>   * |##</PRE><BR/>|
>>   * |at (eval 1181) line 1671|
>>
>>
>>       Request information
>>
>> Time 	Mon Jun 29 13:54:07 2015
>> Method 	GET
>> URI 	/webwork2/NewGenEd/Undefined_Set/1/
>>
>>
>>
>>
>> In my defaults.config I have:
>>
>> ${pg}{modules} = [
>>         [qw(HTML::Parser)],
>>         [qw(HTML::Entities)],
>>     [qw(DynaLoader)],
>>     [qw(Exporter)],
>>     [qw(GD)],
>>     [qw(AlgParser AlgParserWithImplicitExpand Expr 
>> ExprWithImplicitExpand utf8)],
>>     [qw(AnswerHash AnswerEvaluator)],
>>     [qw(WWPlot)], # required by Circle (and others)
>>     [qw(Circle)],
>>     [qw(Complex)],
>>     [qw(Complex1)],
>>     [qw(Distributions)],
>>     [qw(Fraction)],
>>     [qw(Fun)],
>>     [qw(Hermite)],
>>     [qw(Label)],
>>     [qw(ChoiceList)],
>>     [qw(Match)],
>>     [qw(MatrixReal1)], # required by Matrix
>>     [qw(Matrix)],
>>     [qw(Multiple)],
>>     [qw(PGrandom)],
>>     [qw(Regression)],
>>     [qw(MatrixWithElemOps MatrixReal1 Matrix)],
>>     [qw(SysLinEq MatrixReal1 Matrix MatrixWithElemOps)],
>>     [qw(Select)],
>>     [qw(Units)],
>>     [qw(VectorField)],
>>     [qw(Parser Value)],
>>     [qw(Parser::Legacy)],
>>         [qw(Statistics)],
>> #    [qw(SaveFile)],
>>     [qw(Chromatic)], # for Northern Arizona graph problems
>> #                    #  -- follow instructions at 
>> libraries/nau_problib/lib/README to install
>>     [qw(Applet FlashApplet JavaApplet CanvasApplet GeogebraWebApplet)],
>>     [qw(PGcore PGalias PGresource PGloadfiles PGanswergroup 
>> PGresponsegroup  Tie::IxHash)],
>>     [qw(Locale::Maketext)],
>>     [qw(WeBWorK::Localize)],
>>     [qw(JSON)],
>>     [qw(Data::Dumper)]
>> ];
>>
>>
>>
>> On 06/29/2015 01:50 PM, Davide P. Cervone wrote:
>>> You will probably need to use the explicit namespace, since that is 
>>> what is imported into the safe compartment:
>>>
>>> Data::Dumper @$socwelbest
>>>
>>> Give that a try.  Of not, can you post the complete problem so that 
>>> we can reproduce your situation?  It is hard to tell without seeing 
>>> what you are actually doing.
>>>
>>> Davide
>>>
>>>
>>> On Jun 29, 2015, at 1:39 PM, Andrew Dabrowski wrote:
>>>
>>>> I should to my earlier message that I did restart httpd.  I'm 
>>>> running Arch Linux.
>>>>
>>>>
>>>> I thought it would be handy to make Perl's Data::Dumper available 
>>>> for debugging.  So on my office computer I added the line
>>>>
>>>> [qw(Data::Dumper)]
>>>>
>>>> to ${pg}{modules} in defaults.config. But it didn't work, I still 
>>>> get an error.
>>>>
>>>> This is the code in my pg file to display debugging info.
>>>>
>>>> BEGIN_TEXT
>>>>
>>>>     \{ Dumper @$socwelbest \}
>>>>
>>>> END_TEXT
>>>>
>>>> The display is this.
>>>>
>>>> <Mail Attachment.png>
>>>>
>>>> Here's the error message.
>>>>
>>>>
>>>>       Warning messages
>>>>
>>>>   * |ERROR in old_safe_ev, PGbasicmacros.pl: <PRE>|
>>>>   * |## There is an error occuring inside evaluation brackets \{
>>>>     ...code... \}|
>>>>   * |## somewhere in an EV2 or EV3 or BEGIN_TEXT block.|
>>>>   * |## Code evaluated:|
>>>>   * |## Dumper @$socwelbest |
>>>>   * |##syntax error at line 2 of (eval 1132), near "Dumper @"|
>>>>   * |##</PRE><BR/>|
>>>>   * |at (eval 1051) line 1671|
>>>>
>>>>
>>>>
>>>> It actually works fine when I use my own dumper function, defined 
>>>> in a pl file (apart from the fact that my dumper isn't as nice as 
>>>> Perl's).
>>>>
>>>> What's the correct way to do this, i.e. add a aPerl module to webwork?
>>>>
>>>>
>>>> -- 
>>>> Andrew Dabrowski   || ...my suspicion is that the universe is
>>>> Indiana University || not only queerer than we suppose, but
>>>> Swain East 117     || queerer than we can suppose. -JBS Haldane
>>>>
>>>> _______________________________________________
>>>> webwork-devel mailing list
>>>> webwork-devel at webwork.maa.org <mailto:webwork-devel at webwork.maa.org>
>>>> http://webwork.maa.org/mailman/listinfo/webwork-devel
>>>
>>>
>>>
>>> _______________________________________________
>>> webwork-devel mailing list
>>> webwork-devel at webwork.maa.org
>>> http://webwork.maa.org/mailman/listinfo/webwork-devel
>>
>> -- 
>> Andrew Dabrowski   || ...my suspicion is that the universe is
>> Indiana University || not only queerer than we suppose, but
>> Swain East 117     || queerer than we can suppose. -JBS Haldane
>>
>> _______________________________________________
>> webwork-devel mailing list
>> webwork-devel at webwork.maa.org <mailto:webwork-devel at webwork.maa.org>
>> http://webwork.maa.org/mailman/listinfo/webwork-devel
>
>
>
> _______________________________________________
> webwork-devel mailing list
> webwork-devel at webwork.maa.org
> http://webwork.maa.org/mailman/listinfo/webwork-devel

-- 
Andrew Dabrowski   || ...my suspicion is that the universe is
Indiana University || not only queerer than we suppose, but
Swain East 117     || queerer than we can suppose. -JBS Haldane

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://webwork.maa.org/pipermail/webwork-devel/attachments/20150629/a790193e/attachment.html>


More information about the webwork-devel mailing list