
strategies to uncouple internal dependencies on functions (and packages)
========================================================================

&database::DbPlain::PlainToTable
  liest *.csv in array of hashes (o.ä.), Spaltenbezeichner werden aus dem
  Header gelesen.

&MainLib::Cmdline::GetWriteHandle($file)
  ==(mostly like)==> FileHandle->new($file,'w')

MainLib::DefaultObjArray
  provides the standard constructor framework new() and the abstract method
  ini().  A replacement is easy if the derived object provides its own
  constructor definition(s). A stump (missing the actual ini() method) would be:

  sub new {
    bless (my $this=[]);
    my (undef,@arg) = @_;
    return $this->ini(@arg);
  }

MainLib::DefaultObjHash
  provides the standard constructor framework new(), the abstract method
  ini(), and a function (&_LocalSwitch) to get a hash of switches that are
  locally active - possibly not required for an isolated derivative of the
  code.  A replacement is easy if the derived object provides its own
  constructor definition(s). A stump (missing the actual ini() method) would be:

  sub new {
    bless (my $this={});
    my (undef,@arg) = @_;
    return $this->ini(@arg);
  }

&MainLib::File::FileCopy
  Just framework/wrapping around &File::Copy::copy. Core functionality resides
  in that function.

&MainLib::File::WriteFile
  writes string (arg2) to file (arg1). Should be easy to uncouple this, or
  just to implement a shortcut version of that function.

&MainLib::Misc::MySub => "(caller(0))[3]"

&MainLib::Path::PathExpand($path)
  a `($path=~m<^/> ? $path : &Cwd::cwd().$path)' will work in most cases

&MainLib::Path::PathSplit($file)->{name}
  => &File::Basename::basename($file)
&MainLib::Path::PathSplit($file)->{dir}
  => &File::Basename::dirname($file)

&MainLib::StrRegexp::TimeStr
  [zusätzliche Abhängigkeiten? Interface zum POSIX-Modul]

&Math::Calc::ListLocateSorted
  leaf node in chain of dependencies
  Shorter implementation (for stand-alone script) can be found in
  tupletool/tuple_diagbayesvst_acc.pl .

&SeqLab::SeqBench::SeqstrRevcompl
  leaf node in chain of dependencies
  Shorter implementation (for stand-alone script) can be found in
  miRNA/pipeline/extract_mirna.pl
