Thought I'd also have a go at translating ch-1.pl and ch-2.c into C.. Both ch-1.c and ch-2.c produce identical (non-debugging) output to my Perl originals. Both use the command-line argument processing module args.[ch]. I translated IsPrime.pm to isprime.[ch], and wrote an array printing function in prarray.[ch]. Both tasks were very straightforward to translate, it's just that we have to write a lot more low-level support code that Perl does for us..