1. Perl / Говнокод #4129

    −247

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 30 Августа 2010

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

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

        тут еще многие пропускают редкостное говно что $ENV{} это есть специальный мап для работы с переменными окружения.
        Ответить
    • а еще лучше обратить логику. всмысле
      {
          if(!valid1()) return;
          if(!valid2()) return;
      
          doLogic();
          ....
      }
      Ответить
    • Sorry such login is already exist
      талантливый человек талантлив во всем!
      Ответить
      • Error: Password mistake >> Пароль ошибке
        http://translate.google.ru/?hl=ru#en|ru|Password%20mistake
        Ответить
      • Ты про то, что он запятую забыл?

        Народ, не минусуйте, просто спрашиваю.
        Ответить
        • Я про то, что предложение абсолютно грамматически безграмотно) Запятая там - самая малая ошибка =)
          Ответить
    • Если в переменной окружения вместо 'dialup' окажется 'DIALUP' (с ними такое иногда случается), все старания будут напрасными. А жаль, столько букв!

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

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