http://qs321.pair.com?node_id=563516


in reply to I first became interested in Perl because...

Having previously professionally used mainly assembler and C (along with a bit of BCPL and BASIC), my job writing a system in TCL to replace a crufty legacy C application had been obsoleted (canned by a new manager), but nobody had got around to firing me yet. So I was looking around for things to do, and trying to be helpful to the sysadmins, and looking a bit further into some languages I had previously rejected before settling on TCL for the original project. One of those languages was Perl, and I was starting to find it quite useful for all sorts of little things.

A couple of months later, someone messed up an update to the legacy system, and substantial chunks of the data used by a 15,000-strong online community of paying customers were destroyed. At this point it was discovered that the incremental backups were unusable, so the last full backup (several days old) was the only recovery option available; a full restore was unthinkable, but restoring only what was available of the missing data would also leave the system incompatible with each user's stored pointers, creating very visible problems.

Since I was already intimate with the structure of the various files involved (sequential mixes of fixed-size headers and variable-length data), I told that same new manager that in an hour I could write a perl script that would traverse all the user pointer files, crosscheck them against the partially restored data, and create placeholders for any missing data; this would be a minimal fix before we could allow the users to get back onto the system without it all falling over. My boss's support helped overcome his scepticism (thanks Gordon :), and an hour later the script was ready.

That got me hooked on perl as a lifesaver, and I never looked back - I've toyed with many other languages in the 10+ years since then, but never yet found anything that remotely threatened to supplant my affection for perl.

Hugo