# HG changeset patch # User Mahlon E. Smith # Date 1452586593 28800 # Node ID 475aff91675b59c8e77b473ca0a20b4f4677d0e9 # Parent 9a5dacf9505272b596bc259a5c1ace0af66da4ef eval optional modules in blocks instead of strings. diff -r 9a5dacf95052 -r 475aff91675b shelldap --- a/shelldap Tue Jan 12 07:20:38 2016 +0000 +++ b/shelldap Tue Jan 12 00:16:33 2016 -0800 @@ -539,7 +539,7 @@ # not installed and Net::LDAP decides it is required. # if ( $conf->{'tls'} || $conf->{'server'} =~ m|ldaps://| ) { - eval 'use IO::Socket::SSL'; + eval { require IO::Socket::SSL; }; die qq{IO::Socket::SSL not installed, but is required for SSL or TLS connections. You may try connecting insecurely, or install the module and try again.\n} if $@; } @@ -581,7 +581,7 @@ } } - undef $@; eval 'use Authen::SASL'; + undef $@; eval { require Authen::SASL; }; my ( $sasl, $sasl_conn ); my $has_sasl = ! $@; my $use_sasl = $has_sasl && $conf->{'sasl'}; @@ -2308,7 +2308,7 @@ use Getopt::Long; use YAML::Syck; use Pod::Usage; -eval 'use Term::ReadLine::Gnu'; +eval { require Term::ReadLine::Gnu; }; warn qq{Term::ReadLine::Gnu not installed. Continuing, but shelldap is of limited usefulness without it.\n\n} if $@;