Need help with REGEX

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Michael R. McPherson Pierotti

    Need help with REGEX

    Folks its been awhile (5 years) since I have done anything with Perl so I
    consider myself back at newbie statis :(


    #strict on

    use Net::Telnet ();

    $t = new Net::Telnet (Timeout =10,Prompt ='/\</' ); #

    $t->open(Host ="X.X.X.X");

    $t->waitfor('/ENTER USERNAME \</');
    $t->print("XXXXXXX ");
    $t->waitfor('/ENTER PASSWORD \</');
    $t->print("XXXXXXX ");
    $t->waitfor('/\</')
    or die "No Prompt";

    @out1 = $t->get;

    # -------------- #
    # Dump all trees #
    # -------------- #

    @RIR = $t->cmd(String ="ZRIR:;", Output_record_s eparator ="\n") or die
    "EEEK";
    print @RIR;

    $n=0;
    while ($RIR[$n]) {
    if ($RIR[$n] =~ m/^TREE/){
    $line = $RIR[$n];
    $line =~ /\d/;
    print $line . "\n";
    }
    $n++;
    }


    Now my problem is this. The Net::Telnet command fills my array with lines
    like the following

    TREE= 950 ATYPE=N TON=INT
    DIGITS AL NBR RT CT SP NL RC DEST CHI CNT
    SDEST
    1 0 1011 SPR NGC 11 32 APR 335 2 N 31

    ATYPE=N TON=NAT
    DIGITS AL NBR RT CT SP NL RC DEST CHI CNT
    SDEST
    671456 0 900 SPR SC 1 32 APR 336 2 N 33

    ATYPE=N TON=NAT
    DIGITS AL NBR RT CT SP NL RC DEST CHI CNT
    SDEST
    671476 0 900 SPR SC 1 32 APR 336 2 N 33

    My code if ($RIR[$n] =~ m/^TREE/) is successfully REGEX for my "TREE= 950
    ATYPE=N TON=INT "

    Now want I want to do is a REGEX to pull ONLY the digits out of this (950)
    and assign them to s $string. Obviosly my $line =~ /\d/; isn't working
    and
    I am braindead on REGEX since it has been so long.

    Any and all help is greatly appricited.

    BR Mike

  • Pedro Silva

    #2
    Re: Need help with REGEX

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    I'm sure there's a better way of doing this:

    $v="TREE= 950 ATYPE=N TON=INT ";

    $v=~m/(\d)(\d)(\d)/;

    $s=$1 . $2 . $3;

    Pedro

    Michael R. McPherson Pierotti wrote:
    Folks its been awhile (5 years) since I have done anything with Perl so I
    consider myself back at newbie statis :(
    >
    >
    #strict on
    >
    use Net::Telnet ();
    >
    $t = new Net::Telnet (Timeout =10,Prompt ='/\</' ); #
    >
    $t->open(Host ="X.X.X.X");
    >
    $t->waitfor('/ENTER USERNAME \</');
    $t->print("XXXXXXX ");
    $t->waitfor('/ENTER PASSWORD \</');
    $t->print("XXXXXXX ");
    $t->waitfor('/\</')
    or die "No Prompt";
    >
    @out1 = $t->get;
    >
    # -------------- #
    # Dump all trees #
    # -------------- #
    >
    @RIR = $t->cmd(String ="ZRIR:;", Output_record_s eparator ="\n") or die
    "EEEK";
    print @RIR;
    >
    $n=0;
    while ($RIR[$n]) {
    if ($RIR[$n] =~ m/^TREE/){
    $line = $RIR[$n];
    $line =~ /\d/;
    print $line . "\n";
    }
    $n++;
    }
    >
    >
    Now my problem is this. The Net::Telnet command fills my array with lines
    like the following
    >
    TREE= 950 ATYPE=N TON=INT
    DIGITS AL NBR RT CT SP NL RC DEST CHI CNT
    SDEST
    1 0 1011 SPR NGC 11 32 APR 335 2 N 31
    >
    ATYPE=N TON=NAT
    DIGITS AL NBR RT CT SP NL RC DEST CHI CNT
    SDEST
    671456 0 900 SPR SC 1 32 APR 336 2 N 33
    >
    ATYPE=N TON=NAT
    DIGITS AL NBR RT CT SP NL RC DEST CHI CNT
    SDEST
    671476 0 900 SPR SC 1 32 APR 336 2 N 33
    >
    My code if ($RIR[$n] =~ m/^TREE/) is successfully REGEX for my "TREE= 950
    ATYPE=N TON=INT "
    >
    Now want I want to do is a REGEX to pull ONLY the digits out of this (950)
    and assign them to s $string. Obviosly my $line =~ /\d/; isn't working
    and
    I am braindead on REGEX since it has been so long.
    >
    Any and all help is greatly appricited.
    >
    BR Mike
    >
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

    iEYEARECAAYFAkk FbLcACgkQvUI03q KHSRrbmwCeMi8HJ g0gXSgDQsshLi9+ uzR/
    pcUAn1f0t7pWubh jjO2ALUSyJUW7xX 8E
    =rCw7
    -----END PGP SIGNATURE-----

    Comment

    Working...