Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Re: Non-fixed data in record

by brassmon_k (Sexton)
on Aug 31, 2001 at 21:22 UTC ( #109450=note: print w/replies, xml ) Need Help??

in reply to Re: Non-fixed data in record
in thread Non-fixed data in record


That's good but here's why I can't give any of the keys a value after the "mSTerminating" line. Okay but let's say the line I want to print can have a possibility of 3 different values.

So let's say the line you used "radioChannelProperty" can have 3 different values. Would I then constuct like this:
my %data; $data{PCSPLMNCallDataRecord}{mSTerminating} {radioChannelProperty} = "00'H"; {radioChannelProperty} = "01'H"; {radioChannelProperty} = "02'H";
The Brassmon_k

Replies are listed 'Best First'.
Re: Re: Re: Non-fixed data in record
by dragonchild (Archbishop) on Aug 31, 2001 at 21:26 UTC
    Nope. You would do something like the following:
    my %data; @{$data{PCSPLMNCallDataRecord}{mSTerminating}{radioChannelProperty}} = ("00'H", "01'H", "02'H");
    And access it just like you would any array. Just the name is a little longer. :)

    We are the carpenters and bricklayers of the Information Age.

    Vote paco for President!


      As if you haven't noticed I'm not to good at the hash/array thing. I'm not a newbie though. I'd say I'm intermediate. Anyway okay again for "radioChannelProperty", If I wanted to print this "radioChannelProperty is at Sector 47" for radioChannelProperty's value of 00'H
      I'd have to do this -
      if (radioChannelProperty[0] =~ "00'H") { print "radioChannelProperty is at Sector 47\n";
      However let's say the above worked. How would I tell the script to find that line in the block of text.
      if ($_ =~ /radioChannelProperty/) {
      Oh, I'm lost on this one.

      The Brassmon_k
        I guess what I really need to know more than the hash or arrays because thats used primarily for storing values is how to tell the script that if it finds the line I want to print it. I haven't been able to do that because it's always on different lines, and I can't use "$_" for a pattern match because the only way I can get it to print is to print "$_" and I haven't figured out how to say if you match this line print it. I can't say if you match this text on this line print it because the text is on different lines sometimes.

        To make this work I was thinking of using OR's, such as:
        If ($lines[2] =~ "radioChannelProperty") { print "$lines[2]"; OR if ($lines[3] =~ "radioChannelProperty") { print "$lines[3]"; OR etc...
        That's what I really, REALLY need to figure out. I can read on how to construct the arrays and hashes and stuff but as to do the above I have no clue. I haven't tried what I put up there because I think that PERL would laugh at me that was just to give you an example of what I was looking at for desired effect.
        The Brassmonk

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://109450]
[choroba]: Monopoli looks nice, but a bit far from here.

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2018-01-23 12:54 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (245 votes). Check out past polls.