I am able to use System.Cmd (system) to invoke a shell command
and interpret the results.
Please see the code below that works okay for one such command.
(I invoke a program, passing two args.)
I am wondering how to generalize this to do likewise for a
series of commands, where the varying args (filenames, in this
case) are in a list ('inOutLeafs').
I will also want to accumulate some results; probably just a
failure count at this time.
Any advice or pointers to examples would be much appreciated.
Thanks in advance,
-- Peter
> run :: ... -> IO (Int) -- will return a fail count
> run
> -- some args to this function here...
> = do
> -- ... set up: inputLeafs, outputLeafs, etc.
>
> -- zip two lists of filenames:
> let inOutLeafs = zip inputLeafs outputLeafs
>
> -- the first pair for the first command:
> let (inFile1,outFile1) = head inOutLeafs
>
> -- build 1st command using 1st pair of filenames:
> let cmd1 = ...
>
> exitCode <- system cmd1
> case (exitCode) of
> ExitSuccess -> do
> putStrLn $ "-- OK."
> return 0
> ExitFailure failCnt -> do
> putStrLn $ "-- Failed: " ++ show failCnt
> return 1
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe