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>