+use strict;
+use Getopt::Long;
+use Pod::Usage;
+use Term::ANSIColor;
+use Text::Wrap;
+our $master_templates;
+BEGIN {
+ unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML).
+ push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version.
+
+ # this is a default dir. may be wrong in your installation, change it then
+ $master_templates = './templates/print/';
+}
+
+unless (eval { require Config::Std; 1 }){
+ print STDERR <<EOL ;
++------------------------------------------------------------------------------+
+ Perl Modul Config::Std could not be loaded.
+
+ Debian: you may install the needed *.deb package with:
+ apt-get install libconfig-std-perl
+
+ Red Hat/Fedora/CentOS: you may install the needed *.rpm package with:
+ yum install perl-Config-Std
+
+ SUSE: you may install the needed *.rpm package with:
+ zypper install perl-Config-Std
+
++------------------------------------------------------------------------------+
+EOL
+
+ exit 72;
+}
+
+use SL::InstallationCheck;
+use SL::LxOfficeConf;
+
+my @missing_modules;
+my %check;
+Getopt::Long::Configure ("bundling");
+GetOptions(
+ "v|verbose" => \ my $v,
+ "a|all" => \ $check{a},
+ "o|optional!" => \ $check{o},
+ "d|devel!" => \ $check{d},
+ "l|latex!" => \ $check{l},
+ "r|required!" => \ $check{r},
+ "h|help" => sub { pod2usage(-verbose => 2) },
+ "c|color!" => \ ( my $c = 1 ),
+ "i|install-command!" => \ my $apt,
+ "s|silent" => \ $check{s},
+);
+
+my %install_methods = (
+ apt => { key => 'debian', install => 'sudo apt-get install', system => "Debian, Ubuntu" },
+ yum => { key => 'fedora', install => 'sudo yum install', system => "RHEL, Fedora, CentOS" },
+ zypper => { key => 'suse', install => 'sudo zypper install', system => "SLES, openSUSE" },
+ cpan => { key => 'name', install => "sudo cpan", system => "CPAN" },
+);
+
+# if nothing is requested check "required"
+my $default_run;
+if (!defined $check{a}
+ && !defined $check{l}
+ && !defined $check{o}
+ && !defined $check{d}) {
+ $check{r} = 1;
+ $default_run ='1'; # no parameter, therefore print a note after default run
+}
+
+if ($check{a}) {
+ foreach my $check (keys %check) {
+ $check{$check} = 1 unless defined $check{$check};
+ }
+}
+
+