Thought I'd also have a go at translating ch-1.pl into C.. ch-1.c produces identical (non-debugging) output to my Perl originals. It uses the command-line argument processing module args.[ch]. It was very straightforward to translate, it's just that we have to write a lot more low-level support code that Perl does for us..