I'm installing Bugzilla on Windows, and checksetup.pl asked me to install a bunch of modules by running ppm (Perl Package Manager) commands like so:
C:\>ppm install TimeDate
This runs correctly, and installs the TimeDate module.
I haven't done much command line stuff before, but I thought this would be a good time to try it out. So I made a batch file called PerlModules.bat:
ppm install Chart
ppm install Template-GD
ppm install MIME-tools
ppm install XML-Twig
ppm install PatchReader
ppm install perl-ldap
ppm install Authen-SASL
ppm install RadiusPerl
ppm install SOAP-Lite
ppm install JSON-RPC
ppm install JSON-XS
ppm install Test-Taint
ppm install HTML-Scrubber
ppm install Email-MIME-Attachment-Stripper
ppm install Email-Reply
ppm install TheSchwartz
ppm install Daemon-Generic
ppm install mod_perl
ppm install Apache-SizeLimit
ppm install Math-Random-Secure
ppm install TimeDate
ppm install DateTime
ppm install DateTime-TimeZone
ppm install Template-Toolkit
ppm install Email-Send
ppm install Email-MIME
Running it produces this output:
E:\Program Files\Bugzilla>PerlModules.bat
E:\Program Files\Bugzilla>ppm install Chart
Downloading Chart-2.4.6...done
Unpacking Chart-2.4.6...done
Generating HTML for Chart-2.4.6...done
Updating files in site area...done
18 files installed
E:\Program Files\Bugzilla>
So it appears that only the first line of the batch file actually runs, and the rest do nothing.
In the end I looked up the man page for ppm with ppm help
and discovered that I could pass all the package names at once and save myself the hassle of solving this problem, but I really don't understand why my little batch file didn't work.
I thought batch files just fed line after line to the shell prompt, waiting until each had finished its job, until they reached the end of file. What am I missing in this equation?