Home: Perl Programming Help: Beginner:
Perl and Docker



IAperl
New User

Oct 24, 2016, 9:38 PM


Views: 3124
Perl and Docker

Hi Everyone,

I am working on a Docker project which implements the following script (https://github.com/CAIsr/volgenmodel-nipype/blob/master/volgenmodel.py)

This script is written in python and contains a section of code which converts a certain conf_file written in perl syntax.

This conf_file is used by an external function 'Nlpfit' which reads perl syntax (https://github.com/BIC-MNI/minc-widgets/blob/master/nlpfit/nlpfit).

While running this code in docker environment, i keep getting error:

String found where operator expected at (eval 8) line 6, near "u'step
+ ' => 8, u'"
and Error reading config from /scratch/volgenmodel-fast-example/workfl
+ow/writeconf_01_/fit_stage_01.conf (fix it!)_

I have checked the conf_file for syntax error, but there doesnt seem to be any string error.

My default conf_file looks like this
@conf = (
{'step' => 8, 'blur_fwhm' => 4, 'iterations' => 20},
{'step' => 6, 'blur_fwhm' => 3, 'iterations' => 20},
{'step' => 4, 'blur_fwhm' => 2, 'iterations' => 10},
{'step' => 2, 'blur_fwhm' => 1, 'iterations' => 10},
);

Note that this external function (Nlpfit) file uses version 1.2.0 but the docker environment uses Perl5Lib.
Do you think this is due to compatibility issue between Perl version 1.2.0 and Perl version 5.0
I am new to perl and need guidance on what is causing this error and how can I fix it
Also note that this algorithm runs fine outside Docker environment
Cheers


BillKSmith
Veteran

Oct 25, 2016, 7:05 AM


Views: 3114
Re: [IAperl] Perl and Docker

I doubt that you have any problem with Perl. As you noted, the code that you posted is syntactically correct. I am almost certain that your second error message does not come from the perl interpreter. It appears to tell us that the Perl code is not read correctly. In that case, error messages about the Perl code are useless. Your first error message is probably an example of this. The message is from perl. The string quoted in the message does not appear in the original code.

Sorry that I cannot offer more practical advice. You must solve your second problem first. It appears to be beyond the scope of this forum. Certainly beyond my knowledge.
Good Luck,
Bill


FishMonger
Veteran / Moderator

Oct 25, 2016, 8:18 AM


Views: 3113
Re: [IAperl] Perl and Docker

Cross posted on perlmonks. http://perlmonks.org/?node_id=1174639