Jason Dusek wrote:
> I have code that looks like this:
> ...
> my $funk = '/home/jdd/sbin/idlwave2outline.pl';
> my $jam = '/home/jdd/sbin/outline2html.pl -p -t';
> my $web_dir = '/home/jdd/www';
> ...
> sub makedocs {
>      $code = $File::Find::name;
>      $name = $web_dir.'/'.$_;
>      system("$funk $code | $jam > $name.html") if (/\.pro$/ ||
> /\.idl$/); }
> 
> Now, whenever I run this I get an error in the system call:
> 
> Can't open -p: No such file or directory
> Can't open -t: No such file or directory
> 
> which is just saying that it cannot open the command line options that
> I'm trying to pass to outline2html.pl.  So what is the right way to
> get those options through?

Are you sure? It looks to me like those errors are coming from
outline2html.pl and not system().

For kicks, assign the full command line to a variable and print it out
before calling system. Then try running that from the shell to see whether
system() is the problem.

   my $cmd = "$funk $code | $jam > $name.html";
   warn "cmd=<$cmd>\n";
   system() if ...

> 
> Is there a way to call external perl scripts other than using the
> system() function?

backticks, pipe open, fork/exec. But I don't think that's the problem.

(please trim the decorations and use a meaningful subject!)

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to