[Perl] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. FlyBird

    FlyBird Elder - Старейшина

    Joined:
    14 Oct 2007
    Messages:
    46
    Likes Received:
    5
    Reputations:
    0
    Вычти из ни НОЛЬ.
     
  2. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Как я могу из них ноль вычесть если они стринговые? Ты прочитай внимательно вопрос.
     
  3. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    причем тут но?

    а еще можешь умножить на 1=)
    Просто попробуй то что тебе сказали...
     
  4. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Вот давайте вы все эти манипуляции сделаете с
    PHP:
    #!/usr/bin/perl
    use strict;

    my $var = <STDIN>;
    chomp(my ($VR$VRR) = split(/./,$var));
    А потом обсудим, ок?
     
    #184 .Slip, 18 Oct 2007
    Last edited: 18 Oct 2007
  5. FlyBird

    FlyBird Elder - Старейшина

    Joined:
    14 Oct 2007
    Messages:
    46
    Likes Received:
    5
    Reputations:
    0
    $VR = $VR - 0;($VR = $VR *1;)
    $VRR = VRR*1($VRR = VRR - 0;)

    Вот мой пример:
    где $str я могу ввести хоть "Привет)))";
    echo"<br>Проверка ".$str;
    echo"<br>".gettype($str);
    $str = $str - 0;
    echo"<br>".gettype($str);

    Ты главное попробуй и все!
     
  6. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    2 [sL1p]

    ИМХО красивей
    Code:
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    
    my( $var,$VR,$VRR )  = ( 55.55,undef,undef );
    ($VR,$VRR ) = split(/\./,$var);  
    printf "Sum : %d \n",$VR+$VRR;
    Твой случай:
    Code:
    #!/usr/bin/perl
    use strict;
    
    my $var = <STDIN>;
    chomp(my ($VR, $VRR) = split(/[SIZE=5][COLOR=Orange]\[/COLOR][/SIZE]./,$var));
    printf "Sum : %d \n",$VR+$VRR;

    Извиняюсь если неправильно понял, но если суммируем два числа значит они вещественного типа.
     
  7. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Ну о красоте я буду думать после окончания написания кода:) Я понял в чём была ошибка:
    split(/\./
    Thx
     
  8. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> Следовательно у переменных $vr, $vrr значения == 55 . Но, в скрипте они имеют вид стринговых. Как мне перевести их в целочисленные?

    интерпретатор сам интерепретирует переменные в нужном контексте..

    >> Мог бы ио поставить + (((

    а лучше б минус за такие "советы"..

    >> ИМХО красивей

    красивей если 2 раза ворнингс заюзать и присваивать всем новым переменные undef, хотя они и так имеют значение undef? и у слипа вроде как через stdin передавалось, красивей чтоли явно в скрипте значение прописать?
     
    #188 Digimortal, 18 Oct 2007
    Last edited: 18 Oct 2007
  9. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    В перле нет целочисленного типа данных. Есть скаляр, а это и стринги и инты.
    Вот.

    ЗЫ:
    Code:
    my($a, $b) = ('a', 1);
    print $a++, $b++
    
     
  10. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    Предположим у меня есть массив полученный из файла. Предположим есть 10 потоков. Как разбить этот массив на 10 частей и что бы каждый поток работал со своей частью?
     
  11. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> Предположим у меня есть массив полученный из файла. Предположим есть 10 потоков. Как разбить этот массив на 10 частей и что бы каждый поток работал со своей частью?

    можно что-нить типа этого замутить:
    Code:
    #!/usr/bin/perl -w
    use strict;
    
    my @a = 1..100;  ## к примеру, поместим в массив числа от 1 до 100
    push @a, undef;  ## % )
    my $num = 10;    ## это - количество потоков
    
    for (0..$num-1) {
    print @a[$_*($#a/$num)..($_+1)*($#a/$num)-1], "\n";}
    
    кста, иногда, лучше и не делить массив на равные части а работать с ним из каждого потока, например, извлекая из него элементы shift'ом..
     
  12. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    явно не о том думал виноват, исправлюсь
    Про присваивания думаю удобней пользоваться
    Code:
    Getopt::Std || $ARGV  || shift 
    
     
    1 person likes this.
  13. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    на самом деле разбивать ничего не нужно, так же не следует читать весь файл в массив ибо размер его в оперативной памяти будет слишком большим, я когда пишу всякие бруты, наполняю массив паролями, затем потоки дергают из него пароли, когда массив опустеет, он снова заполняется паролями и потоки снова запускаются

    пример-
    #!/usr/bin/perl

    use threads;
    use threads::shared;
    my @pass : shared; #расшариваем массив

    $thr = 10;

    open (pass, "<$dic");

    Next:
    @pass = pass(); #вызываем функцию наполнения массива пасами

    #создаем потоки
    for(0..$thr)
    {
    $trl[$_] = threads->create(\&Brut);
    }
    for(0..$thr)
    {
    $trl[$_]->join; #ждем пока они завершатся
    }

    sub Brut
    {
    while (@pass)
    {
    $pass = shift @pass;
    # тут собственно сам брут #
    }
    }

    goto Next;

    #функция заполнения массива пасвордами фром the файлек

    sub pass
    {
    my (@mas);
    while (<pass>){
    push @mas, $_;
    last if (@mas > 300);
    }
    chomp @mas;
    return @mas;
    }
     
    #193 C!klodoL, 19 Oct 2007
    Last edited: 19 Oct 2007
    2 people like this.
  14. Outlaw

    Outlaw New Member

    Joined:
    2 Sep 2007
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    :mad: Господи куда все катется? народ вы что? новички елы палы...на вопросы от которых вы хотите получить ответ есть все в учебнике!!! Есть документация по перлу в ней все понятно описано! ТОка не спрашивайте меня как открыть документацию это убьет мой мозг! Тут был посто о библиотеки TK, в документации все показано как работать с кодировкой и с библиотекой в целом. Честно я не хочу не кого обидеть, но писать какие то программы которые складывают числа да еще на перл..это вообще жесть! Люди учити библиотеку LWP для работы непосредствено с WWW. Выучите что такое легурярные вырожения! Если кому надо я могу скинуть ссылку на форум программеров там на все даже детские вопросы есть ответ! Кароче народ это жесть, перл изучается за 48 часов...не считая библиотек! Эх..да что я говорю!
     
    1 person likes this.
  15. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    ну и нах ты это написал? Перл гуру что ле, пиздец
     
  16. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    гы
     
    1 person likes this.
  17. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
  18. Outlaw

    Outlaw New Member

    Joined:
    2 Sep 2007
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    :) Вот это мне нравится такие ответы "Перл Гуру ты.." "Гы" "Гы2" :D просто нечего интересного и нормально для новичка я не увидел! Нах такую тему создовать если не кто не может дать нормальный свой ответ...только берут коды из статей и все такое! Елы палы если ТЫ да ТЫ юзер решил отпостить что нить для новичка то пиши полностью пример! Если спросил юзер как сделать кодирувку приведи ему полный пример а не то что написано на многих сайтах кароче эта темя на это форуме вообще не нужна и новичкам скажу бросайте этот раздел! вот вам нормальный форум тут вы на все получите полный ответ и даже если что вам приведут пример и прокамментируют код если не то другие! http://forum.vingrad.ru Так бросайте это раздел тут вы скажу вам на 100 процентов нечего не узнаите!
     
  19. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    Outlaw не нравится, не заходи и нечего тут флудить, такое впечатление что ты прочитал - освой перл самостоятельно за 24 часа, и радуешь что научился хеллоу ворлду, я посмотрю как ты на винграде задашь вопрос как написать какой нибудь брутер или типа того
     
  20. Outlaw

    Outlaw New Member

    Joined:
    2 Sep 2007
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    хм...ода я изучил hello world и радуюсь! Ты думай что говоришь, может перл за 24 часа это твоя любимая книжка! На винграде можно задать любой вопрос...там были посты и посильней того что ты написал! Повторяю еще раз там можно получить на любой вопрос, ответ!!! Для тех кто не знает просьба не говорить! И где ты тут флуд увидел, тут как я понял раздел для новичков так вот я им и предлогаю хороший вариант по изучению перла и если есть вопросы где их лучше обсудить!
     
    #200 Outlaw, 26 Oct 2007
    Last edited: 26 Oct 2007
Thread Status:
Not open for further replies.