example of a PCOM object registry
$VAR1 = { 'pcom' => { 'pcom' => bless( { 'iterations' => 0, 'main' => {}, 'name' => 'PCOM' }, 'PCOM' ), 'PARSE_DIR' => { 'components' => './components/foo', 'data' => './data', 'logs' => './logs', 'modules' => './modules', 'templates' => './templates/foo', 'includes' => './includes' }, 'PARSE_PATH' => { 'root html dir' => '', 'script resident dir' => '../cgi-bin', 'root cgi dir' => '../cgi-bin' }, 'CGI' => bless( { '.charset' => 'ISO-8859-1', '.parameters' => [], '.fieldnames' => {} }, 'CGI' ), 'SCRIPT' => 'foo.pl', 'criteria' => {}, 'ADMIN' => { 'admin password' => 'pw', 'admin private email' => 'foo@bar.bz', 'admin real name' => 'foo', 'admin screen name' => 'uname', 'path to sendmail' => '/usr/sbin/sendmail', 'admin web domain' => 'www.foo.bar', 'admin contact email' => 'support@bar.bz', 'BOT' => { 'user agent' => 'Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux)' } }, 'name' => 'PCOM', 'ARGV' => [], 'ENV' => { 'MINGW' => '"/bin/gcc.exe"', 'PROMPT' => '$p$g', 'CTSYN' => 'C:\\WINDOWS', '!C:' => 'C:\\cygwin\\lib\\perl5\\site_perl\\5.6.1\\Handy\\Dandy', '!D:' => 'D:\\home\\projects\\ooopps\\cgi-bin', 'COMSPEC' => 'C:\\WINDOWS\\COMMAND.COM', 'WINDIR' => 'C:\\WINDOWS', 'TMP' => '/cygdrive/d/temp/swap/', 'BLASTER' => 'A220 I7 D1 H7 P330 T6', 'SBPCI' => 'C:\\SBPCI', 'WINBOOTDIR' => 'C:\\WINDOWS', 'TEMP' => '/cygdrive/d/temp/swap/', 'CMDLINE' => 'WIN', 'MOUSE' => 'c:\\imouse', 'HOME' => '/home/tommy', 'TERM' => 'cygwin', 'PATH' => '/cygdrive/c/WINDOWS:/cygdrive/c/windows:/cygdrive/c/windows/COMMAND:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/COMMAND:/usr/bin:/USR/BIN:/USR/X11R6/BIN:/USR/LIBEXEC:/USR/LOCAL/BIN:.' }, 'PWD' => '.', 'DEBUG' => { 'persistent session data' => '0', 'setup' => '1' }, 'rhtt' => qr/(?-xism:..\/htdocs)/, 'HTML' => { 'css stylesheet location' => '../htdocs/css/style.css', 'html header file location' => './includes/header.html', 'images' => '../htdocs/img', 'javascript file location' => '../htdocs/js/site.js', 'default page title' => 'foo', 'html footer file location' => './includes/footer.html' }, 'PID' => 1601671, 'DIR' => { 'components' => './components/', 'data' => './data', 'logs' => './logs', 'modules' => './modules', 'templates' => './templates/', 'includes' => './includes' }, 'PACKAGE' => 'main', 'Futils' => bless( { 'embedRE' => qr/(?-xism:(?sx) \<\?\= (.*?) \?\>)/, 'tokens' => { 'html header file location' => './includes/header.html', 'images' => '../htdocs/img', 'admin password' => 'pw', 'html footer file location' => './includes/footer.html', 'admin screen name' => 'uname', 'root cgi dir' => '../cgi-bin', 'data' => './data', 'css stylesheet location' => '../htdocs/css/style.css', 'path to sendmail' => '/usr/sbin/sendmail', 'admin contact email' => 'support@bar.bz', 'admin web domain' => 'www.foo.bar', 'logs' => './logs', 'script resident dir' => '../cgi-bin', 'templates' => './templates/foo', 'includes' => './includes', 'javascript file location' => '../htdocs/js/site.js', 'persistent session data' => '', 'admin private email' => 'foo@bar.bz', 'admin real name' => 'foo', 'modules' => './modules', 'root html dir' => '../htdocs', 'components' => './components/foo', 'default page title' => 'foo', 'setup' => '1', 'BOT' => { 'user agent' => 'Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux)' } }, 'tokenRE' => qr/(?-xism:(?sx) \%\%\% (.*?) \%\%\%)/, 'config' => {}, 'opts' => {}, 'objects' => { 'pcom' => {}, 'Template::Parser' => { 'namespace' => {} }, 'aliases' => { 'date' => 'Closing Date', 'item' => 'Item Description', 'id' => 'Auction ID', 'user' => 'Winner', 'price' => 'Bid Amount' } }, 'embedEV' => qr/(?-xism:(?|\{))/, 'name' => 'Template::Parser' }, 'Template::Parser' ), 'Template::Parser' => bless( { 'embedRE' => do{my $o}, 'tokens' => { 'html header file location' => './includes/header.html', 'images' => '../htdocs/img', 'admin password' => 'pw', 'html footer file location' => './includes/footer.html', 'admin screen name' => 'uname', 'root cgi dir' => '../cgi-bin', 'data' => './data', 'css stylesheet location' => '../htdocs/css/style.css', 'path to sendmail' => '/usr/sbin/sendmail', 'admin contact email' => 'support@bar.bz', 'admin web domain' => 'www.foo.bar', 'logs' => './logs', 'script resident dir' => '../cgi-bin', 'templates' => './templates/foo', 'includes' => './includes', 'javascript file location' => '../htdocs/js/site.js', 'persistent session data' => '', 'admin private email' => 'foo@bar.bz', 'admin real name' => 'foo', 'modules' => './modules', 'root html dir' => '../htdocs', 'components' => './components/foo', 'default page title' => 'foo', 'setup' => '1', 'BOT' => { 'user agent' => 'Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux)' } }, 'tokenRE' => do{my $o}, 'config' => {}, 'opts' => {}, 'objects' => { 'pcom' => {}, 'Template::Parser' => { 'namespace' => {} }, 'aliases' => { 'date' => 'Closing Date', 'item' => 'Item Description', 'id' => 'Auction ID', 'user' => 'Winner', 'price' => 'Bid Amount' } }, 'embedEV' => do{my $o}, 'name' => 'Template::Parser' }, 'Template::Parser' ), 'COM' => bless( { 'iterations' => 0, 'main' => {}, 'name' => 'PCOM' }, 'PCOM' ), 'PATH' => { 'root html dir' => '../htdocs', 'script resident dir' => '../cgi-bin', 'root cgi dir' => '../cgi-bin' }, 'PCOM' => bless( { 'iterations' => 0, 'main' => {}, 'name' => 'PCOM' }, 'PCOM' ) }, 'criteria' => {} }; $VAR1->{'pcom'}{'pcom'}{'main'} = $VAR1->{'pcom'}; $VAR1->{'pcom'}{'Futils'}{'objects'}{'pcom'} = $VAR1->{'pcom'}; $VAR1->{'pcom'}{'Futils'}{'objects'}{'Template::Parser'}{'namespace'} = $VAR1->{'pcom'}{'Futils'}; $VAR1->{'pcom'}{'Template::Parser'}{'embedRE'} = $VAR1->{'pcom'}{'Futils'}{'embedRE'}; $VAR1->{'pcom'}{'Template::Parser'}{'tokenRE'} = $VAR1->{'pcom'}{'Futils'}{'tokenRE'}; $VAR1->{'pcom'}{'Template::Parser'}{'objects'}{'pcom'} = $VAR1->{'pcom'}; $VAR1->{'pcom'}{'Template::Parser'}{'objects'}{'Template::Parser'}{'namespace'} = $VAR1->{'pcom'}{'Template::Parser'}; $VAR1->{'pcom'}{'Template::Parser'}{'embedEV'} = $VAR1->{'pcom'}{'Futils'}{'embedEV'}; $VAR1->{'pcom'}{'COM'}{'main'} = $VAR1->{'pcom'}; $VAR1->{'pcom'}{'PCOM'}{'main'} = $VAR1->{'pcom'};