# {{{ main_init main initialization routine
#
sub main_init {
#
# The priority of configurations is:
# 1. command line parameters
# 2. .elricrc file
# 3. defaults/autodetection
# At every beginning of a block - if you have to declare my variables...
my $cpu = '';
my $get_opt = '';
if(-e '.elricrc') {
$config = ConfigReader::Simple->new(&globalconf('rscfile'));
$config->parse();
$cpu = $config->get('cpu') || &num_cpus;
}
$get_opt = GetOptions('cpu=i', \$cpu,
'c=i', \$cpu,
'help', \&print_usage_cmdline,
'h', \&print_usage_cmdline,
'v', \&print_version);
&print_welcome;
&globalconf('cpu',$cpu);
}
# }}}
Give emacs hints what this source is all about:
# For Emacs: -*- mode:cperl; mode:folding -*-
Yes, use cperl-mode
####
# Started <date> by <name>
#
# $Author$
# $Date$
# $Id$
# $Revision$
#
# [Modified <date> by <name>]*
# <name of the file> <version_of_the_source>
# Sanity checks: VARS|PROF|CERT
#
# PPCG: <version of the PPCG you are coding after>
As for the sanity checks:
VARS: Checked if there are any unnecessary variables
(unused, used only once) and removed them
PROF: Code has been examined and optimized by the help
of the Profiler
CERT: Certify, that this file has been validated against
the stated PPCG
- To work out the design priorities at PetaMem consider the
following priorities for your code:
Prio 1 CORRECT
does what you intended
what you intended was specified
Prio 2 MAINTAINABLE
well structured/modularized
good documented
easy to understand
Prio 3 REUSABLE
generic
Prio 4 EFFICIENT
fast
ressource friendly
small memory footstep etc.
####
# CREATE methods
# {{{ new constructor...
# {{{ read read and parse lexicon from file...
# {{{ restore fast restore of dumped lexicon...
# QUERY methods
# {{{ isin is the $key in this lexicon...
# {{{ info information about the contents of this lexicon object...
# MODIFY methods
# {{{ add_entry add entry to lexicon...
# {{{ add_entries add entries to lexicon...
# {{{ add_meaning add meaning IF DISJOINT else DISCARD or REPLACE...
# {{{ del_entries delete entries from lexicon...
# {{{ merge merge some other lexicon to this one...
# {{{ consolidate consolidate this lexicon...
# {{{ dump dump lexicon for fast recovery...
# DERIVE methods
# {{{ expand expand one entry...