in reply to Re^3: Perl = Greek to me
in thread Perl = Greek to me

You're opening the file, but you're not reading it. $line never gets any data in it, yet you're trying to do a pattern match against it. First thing you should do is Use strict and warnings and you should get uninitialized warnings about $line (Update: That is, after you fix the scoping problem with $textfile). The basic pattern of your program should be something like:
use strict; use warnings; open my $fh, .... or die "Err: $!"; while (my $line = <$fh>) { if ( $line =~ /...some pattern.../ ) { print $line; } } close $fh;
Although you really should have done what I suggested in my first post and started with something like:
use strict; use warnings; open my $fh, .... or die "Err: $!"; while (my $line = <$fh>) { print $line; } close $fh;
Because until you get past that, you can't expect to run with scissors before you can walk :-)

Replies are listed 'Best First'.
Re^5: Perl = Greek to me
by smolikmd (Initiate) on Dec 28, 2011 at 15:14 UTC

    I'm still trying to crawl to the table to grab the scissors...

    So, I've done this and it works:

    use strict; use warnings; open my $textfile, '<', 'C:\Users\msmolik\Desktop\PERL test stuff\tes +tfile.log' or die $!; while ( my $dtmf = <$textfile>) { if ( $dtmf =~ m/ccParty<(.+)>.+DTMF<(\*\d)>/ ) { print "$dtmf\n"; } } { close $textfile; }

    and was able to do this:

    use strict; use warnings; print "What is the conference hexidecimal name?\nInput Name:"; my $Conf_Hex = <>; chomp ($Conf_Hex); while ( my $polling = <$textfile>) { if ( $polling =~ m/VtO<.+> VtTp<(?!0)(\d{1,3})>.+MCfID<0x$Conf_Hex +>/ ) { print "$polling\n"; } } { close $textfile; }

    Now, I've code that will convert a number in decimal to a hexidecimal. But I can't figure out how to combine that in the second code above to ask for the number then use the hexidecimal output instead of asking for the hexidecimal input.

    I guess in simple form, I want the conversion code to ask for a number. I give it 18. The output is 12. I then want to take that 12 and put it in the line of code above in place of the $Conf_Hex value in the "if" statement.

    Here's the code for the conversion:

    print "What is the Conference IDX?"; my $num = <>; chomp ($num); exit unless defined $num; $num = oct($num) if $num =~ /^0/; printf = ("%x\n", $num) ;

    Anyway, I'll keep plugging along. Thank you to everyone for suggestions and pushing me in the right direction.