#!/usr/bin/perl use strict; use feature qw(say); use warnings; use utf8; use Getopt::Long; my ($helpCmdArgv, $configCmdArgv, $setupCmdArgv, $servertypeCmdArgv); my $cmdArgsResult; $cmdArgsResult = GetOptions ( "help" => \$helpCmdArgv, "config=s" => \$configCmdArgv, "setup" => \$setupCmdArgv, "servertype=s" => \$servertypeCmdArgv ); # Condition 1 if ( (@ARGV eq 0) or ($helpCmdArgv eq 1) ) { say scalar(@ARGV); &Help; }; # Condition 2 say scalar(@ARGV); ($configCmdArgv) ? say 'Custom config' : say 'Default config'; sub Help { print < db - Database server; |-> app - Application server; HELP exit 1; };