=()= / Говнокод #4129 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
if($ENV{'mode'} eq "dialup"){
  if($ENV{'login'}=~/^P/){
    if($ENV{'bill'}){
      if($ENV{'passwd1'}){
        if($ENV{'passwd1'} eq $ENV{'passwd2'}){
	  if($ENV{'email'}){
            my($rUser)=check_radius_user_new($ENV{'login'});
	    my($sUser)=check_http_user_new($ENV{'login'});
	   #my($Email)=Check_MailBox($ENV{'login'},$ENV{'email'});
    	    if(($rUser==0)and($sUser==0)and($Email==0)){
              my($bUser)=check_billing_user($ENV{'bill'});
	      if($bUser==0){
                add_radius_user($ENV{'login'},$ENV{'passwd1'});
	        add_http_user($ENV{'login'},$ENV{'passwd1'});
    	        add_billing($ENV{'login'},$ENV{'bill'});
		Add_MailBox($ENV{'login'},$ENV{'email'},$ENV{'passwd1'});
        	$ENV{'message'}="User created";
              }else{$ENV{'message'}="Error: Billing name is already exist";}
	      if($Email!=0){$ENV{'message'}="Error: Email name or alias is already exist";}
            }else{$ENV{'message'}="Error: Sorry such login is already exist";}
	  }else{$ENV{'message'}="Error: Enter e-mail";}
        }else{$ENV{'message'}="Error: Password mistake";}
      }else{$ENV{'message'}="Error: Enter password";}
    }else{$ENV{'message'}="Error: Enter billing name";}		
  }else{$ENV{'message'}="Error: Enter login";}
}else{$ENV{'message'}="Error: ";}
$ENV{'message'}=~s/ /\%20/g;

Может это так и надо делать?

Запостил: Werdn Werdn, (Updated )

Комментарии (17) RSS

  • А в перле нельзя в if использовать как в Си "|" и switch для else ?
    Ответить
    • да там чего хочешь есть - включая местечковые exceptions используя eval/die.

      тут еще многие пропускают редкостное говно что $ENV{} это есть специальный мап для работы с переменными окружения.
      Ответить
  • а еще лучше обратить логику. всмысле
    {
        if(!valid1()) return;
        if(!valid2()) return;
    
        doLogic();
        ....
    }
    Ответить
  • Sorry such login is already exist
    талантливый человек талантлив во всем!
    Ответить
  • Если в переменной окружения вместо 'dialup' окажется 'DIALUP' (с ними такое иногда случается), все старания будут напрасными. А жаль, столько букв!

    ...Кстати, это случайно не порождение какого-нибудь генератора кода?
    Ответить
    • нет, это - биллинг (свой, с NetFlow и RADIUSами), порождение телекомского сисадмина, который знает FreeBSD, но программировать умеет лишь поскольку приходится писать скрипты
      Ответить
  • > Может это так и надо делать?
    Да, в Perl только так и надо 🙂
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8