1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda com perl

Discussão em 'Programação' iniciada por jfkpt, 25 de Maio de 2009. (Respostas: 4; Visualizações: 494)

  1. jfkpt

    jfkpt Power Member

    Ola,

    Tenho um programa com as seguintes linhas :

    Código:
    #!/usr/bin/perl -w
    
    my $tstring = " Item memory (21102626)      : Total: 10000 Used : 4570 Free : 5430";
    
    my $total = ($tstring =~ /Total:\s(\d+)\s/);
    
    print " Total : $total \n";
    
    Acontece que isto apenas está a mandar para o ecrã :

    Total : 1


    já tentei com \d, com [0-9]+ e não funciona. Apanha sempre "1" apenas :005:

    O que é que estou a fazer mal ?
     
  2. jfkpt

    jfkpt Power Member

    30 segundos depois percebi que o 1 era apenas coincidência, pois é "1" no sentido de validar o resultado. Mas eu queria ler aquele grupo !

    Como é que posso fazer ?
     
  3. slack_guy

    slack_guy Power Member

    Código:
    #!/usr/bin/perl -w
    
    my $tstring = " Item memory (21102626)      : Total: 10000 Used : 4570 Free : 5430";
    
    my [COLOR="Red"][B]([/B][/COLOR]$total[COLOR="Red"][B])[/B][/COLOR] = ($tstring =~ /Total:\s(\d+)\s/);
    
    print " Total : $total \n";
    
    Código:
    Total : 10000
    
     
  4. jfkpt

    jfkpt Power Member


    Obrigado ! :x2:

    Já agora, podes dar uma explicação sobre os parêntesis ? É que ainda sou muito verdinho nesta linguagem ! :D
     
  5. slack_guy

    slack_guy Power Member

Partilhar esta Página