in reply to Re: Passing a very long parameter list to an external command in perl
in thread Passing a very long parameter list to an external command in perl

How are you executing the command? This is pretty important. If you can use system with a list of arguments instead of a single string. From your code, you are likely using the single argument form of system which has all the quoting and length limits of the shell.
$ret = join " ", @$ret; #execute it ( $ret ) = $self->executeCommand( "campaign $ret" )
Since you already have the list of arguments, you can use that. You will have to use the array form of system. If you need to read the stdout of the program, I think that IPC::Open3 supports an array of arguments.
system('campaign', @$ret);

Replies are listed 'Best First'.
Re: Re: Re: Passing a very long parameter list to an external command in perl
by dwhitney (Beadle) on Oct 26, 2003 at 00:40 UTC

    After finally getting it through my thick skull, I skipped the whole $ret = join " ", @$ret; and now simply pass the array to the sub.

    It works vewry well thank you!!

    Thanks for finally doing it jburrel!!!