#!/usr/bin/perl $failures = 0; while ($page = shift) { system "mv $page $page.orig"; open IN,"<$page.orig" or die "Cannot read from $page.orig\n"; open OUT,">$page" or die "Cannot write to $page\n"; $toc = undef; while () { if (//) { print OUT; print OUT ''; } elsif (/
/) { print OUT; print OUT '

This is the official manual for the latest Org mode release.

'; } elsif (/

Table of Contents<\/h2>|

/) { print OUT; print OUT 'https://orgmode.org
'; $toc = 1; } elsif (/<\/div>/ and $toc) { print OUT "

"; $toc = 0; } else { print OUT; } } system "rm $page.orig"; if (!defined($toc) || $toc != 0) { ++$failures; print STDERR "Patching of $page failed\n"; } } $failures == 0 or die "Patching of $failures files failed\n";