[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Newbie question about Perl programs



On 3/21/06, Erik Paulson <epaulson@xxxxxxxxxxx> wrote:
> On Tue, Mar 21, 2006 at 05:02:58PM -0000, Kewley, J (John) wrote:
> > Have you got
> > #!/usr/local/bin/perl
> >
> > As the 1st line of your perl script? (assuming that is where perl lives on
> > destination machine)
> >
>
> /usr/local/bin/perl isn't the usual location for a perl installation on
> Win32 :)
>
> I think the way we usually solve this on Windows is to use the
> USER_JOB_WRAPPER on Windows to decide if it's a Perl script, and if it is
> to execute it correctly.
>
> There is no "Perl" universe that automatically knows the right thing to do
> ala the Java universe.

I would suggest as a (possibly far off) enhancement that providing a
"script" universe where some additional attribute indicated the script
type.

Execution machines could indicate which script types were supported
(and nicely indicate in the config where the executable for the
interpreter was located - avoiding the need for a complicated user job
wrapper or fixed install locations of the perl/bash/python/ruby/<your
one here> framework.

then
universe = script
script_type = perl
executable = myscript.xxx
(this can be absolutely anything but by defining the common ones in
advance  as "perl"/"sh" etc. will make it simple)

The execute machines would have to indicate how to pass the script
name to the scripting environment (again providing the basic how to
for perl and the like would make it easy for others to add their own)

perhaps script_engine_args attribute could be added (which is used by
the executing machine only if it chooses to) for those environments
where full trust exists

Just an idea - certainly it would make life much easier for windows
(or indeed a combination of windows and *nix machines where you have a
platform agnostic script but need some way to easily start executing
it on different architectures)

Matt