#!/usr/local/bin/perl # Yeah, I know, probably 1000 other persons already wrote a script like # this, but I'll tell ya: # THEY DON'T FIT ME :-) # Get readme file as parameter: $README = $ARGV[0]; if($README eq "") { print "usage: mkreadme.pl \n"; exit; } push @out, " _ _ ____ _ \n"; push @out, " Project ___| | | | _ \\| | \n"; push @out, " / __| | | | |_) | | \n"; push @out, " | (__| |_| | _ <| |___ \n"; push @out, " \\___|\\___/|_| \\_\\_____|\n"; $head=0; loop: while () { $line = $_; # this kind should be removed first: $line =~ s/_//g; # then this: $line =~ s/.//g; if($line =~ /^curl/i) { # cut off the page headers $head=1; next loop; } if($line =~ /^[ \t]*\n/) { $wline++; # we only make one empty line max next loop; } if($wline) { $wline = 0; if(!$head) { push @out, "\n"; } $head =0; } push @out, $line; } push @out, "\n"; # just an extra newline open(READ, "<$README") || die "couldn't read the README infile"; while() { push @out, $_; } close(READ); print "/* NEVER EVER edit this manually, fix the mkhelp script instead! */\n" ; print "#include \n"; print "void hugehelp(void)\n"; print "{\n"; print "puts (\n"; $outsize=0; for(@out) { chop; $new = $_; $outsize += length($new)+1; # one for the newline $new =~ s/\\/\\\\/g; $new =~ s/\"/\\\"/g; # gcc 2.96 claims ISO C89 only is required to support 509 letter strings if($outsize > 500) { # terminate and make another puts() call here print ");\n puts(\n"; $outsize=length($new)+1; } printf("\"%s\\n\"\n", $new); } print " ) ;\n}\n"