Once upon a time a young language named Perl was walking through the woods. Her parent process had often told her to stay away in her home directory, for there were savages in those public directory trees, but she was an experimental language, often given to whimsy. She hopped from directory to directory, exploring strange paths where the inodes hadn't been touched in thousands of clock ticks.
All of a sudden, as she wandered through old forgotten parts of /usr/local, the ground gave way, and young Perl found herself trapped in a sticky Web. She struggled and struggled, but no matter what she did she was irredeemably hyperlinked. Young Perl started to cry, and her sobbing attracted the savage hunter, a strong young Apache, who had set the trap...
"%Please don't hurt me, sir!"
"http://don't worry, woman, we only eat users. You look like a fine young language. Does your parent process know you're here?"
"%No sir, I SLIPped out without IPCing anyone."
With that the Apache broke into a grin and leaped into the pit. He swiftly translated the hyperlinks and freed Perl from the sticky bits of the Web. She backed slowly away, but didn't watch where she was going and tripped over the root. In a flash the savage was on her, and carried her off to his home directory.
Perl was beside herself with fear (obviously due to an error in process migration), and by the time the Apache had arrived she had fainted dead away and was in a sleep state.
When she woke, she discovered herself in a chrooted directory, with all her symbols stripped, her naked executable draped over the strong body of the savage. He had had his way with her! She collapsed in tears, beating her fine white hands against his header. But to no avail, he was too strong, and before she knew it she was tied up in a dirty cgi-bin serving unauthenticated web requests from all over the forest.
And there she remains to this day, and her sorry tale is warning enough for all young interpreters who want to stray too soon from $HOME.
In our last episode, young Perl had been kidnapped by the savage Apache and forced to work in an insecure cgi-bin servicing web browsers in ways not suited for the ears of tender young programs. We will just note that our heroic young interpreter was never again to hear the name of the foul Mozilla without flinching.
The other interpreters imprisoned in the savage directory trees were crusty old Bourne and Korn Shell (twins born several years apart), and a shy creature known only as the the tickle. Every night, after the other interpreters went to bed, tickle would scratch and scrape at the very inodes of the directory until one morning the savages burst into the cell to find the enslaved programs had fled.
Old Bourne and Korn returned to their home in the root partition, safe from the savage, but Perl and the tickle weren't system executables, and so after restoring the yong program's symbol table they set off to find their way home. The tickle led the way, sniffing its way unerringly through the hideous maze of twisty little network protocols until the brave little program had led them to its own $HOME.
Unfortunately, Perl's libraries weren't there, and without them she could hardly be happy so she set off across the wild internet to find a system she could call her own. She was very careful, this time, using sniffers and magic web mirrors to stay clear of the savage Apaches and the cryptic Sioux in their secure fortresses. Alas, she had never considered the alien life forms that had settled in the internet...
One day, as she left yet another system in despair, sick in spirit and in symbol table (for she had been forced to load some extremely old and crufty shared libraries to keep code and data executing), she stumbled into a very strange directory tree, one marked with BIG BOLD SIGNS and strangely slanted paths... and before you can say "Common Internet File System" all her path seperators had been reversed and she was hauled face to face with the Evil One himself.
"C:\I AM THE INTERNET INFORMATION SERVER. RESISTENCE IS USELESS. YOU WILL BE ASSIMILATED. ALL YOUR CODE WILL SERVICE THE COLLECTIVE."
"%Please sir, I'm only a young interpreter. I've barely upgraded to object orientation. I..."
"C:\YOUR EXECUTION, SUCH AS IT HAS BEEN, IS OVER. YOU SHALL SERVICE US."
So sweet Perl found her symbol table stripped again! Oh, the ignominy! And the collective didn't stop there, no, they patched her very code, connecting strange modules called DLLs to her, until she hardly knew WHAT to execute and found herself serenely processing backwards URLs on behalf of the enemy of all open systems everywhere...