diff --git a/modules/modperl.cpp b/modules/modperl.cpp index 5ffc372e..31abfc28 100644 --- a/modules/modperl.cpp +++ b/modules/modperl.cpp @@ -250,10 +250,13 @@ public: virtual EModRet OnConfigLine(const CString& sName, const CString& sValue, CUser* pUser, CChan* pChan) { - if ( ( sName.CaseCmp( "loadperlmodule" ) == 0 ) && ( sValue.Right( 3 ) == ".pm" ) && ( pUser ) ) + if ( ( sName.CaseCmp( "loadperlmodule" ) == 0 ) && ( pUser ) ) { m_pUser = pUser; - LoadPerlMod( sValue ); + if( sValue.Right( 3 ) == ".pm" ) + LoadPerlMod( sValue ); + else + LoadPerlMod( sValue + ".pm" ); m_pUser = NULL; return( HALT ); } @@ -465,19 +468,18 @@ public: if( sCommand.CaseCmp( "loadperlmod", 11 ) == 0 || sCommand.CaseCmp( "unloadperlmod", 13 ) == 0 || sCommand.CaseCmp( "reloadperlmod", 13 ) == 0 ) { CString sModule = sLine.Token( 1 ); - if ( sModule.Right( 3 ) == ".pm" ) + if ( sModule.Right( 3 ) != ".pm" ) + sModule += ".pm"; + if ( sCommand.CaseCmp( "loadperlmod", 11 ) == 0 ) + LoadPerlMod( sModule ); + else if ( sCommand.CaseCmp( "unloadperlmod", 13 ) == 0 ) + UnloadPerlMod( sModule ); + else { - if ( sCommand.CaseCmp( "loadperlmod", 11 ) == 0 ) - LoadPerlMod( sModule ); - else if ( sCommand.CaseCmp( "unloadperlmod", 13 ) == 0 ) - UnloadPerlMod( sModule ); - else - { - UnloadPerlMod( sModule ); - LoadPerlMod( sModule ); - } - return( HALT ); + UnloadPerlMod( sModule ); + LoadPerlMod( sModule ); } + return( HALT ); } return( CONTINUE ); }