http://www.perlmonks.org?node_id=938675


in reply to Re: A CDMA problem
in thread A CDMA problem

Hi juster.

So my code compiles. and thanks for cleaning it up so nicely. I do have an error when I try to run it though.

C:\Dropbox\PandaDBCM>perl -d logprocessTempNff.pl sample2.nff out.txt 1069 Can't use string ("980904258.881354") as a HASH ref while "strict refs +" in use at logprocessTempNff. pl line 222. C:\Dropbox\PandaDBCM>

I think "980904258.881354" is the timestamp. It looks like it. I know it will take a few tries to make this work. but how do I fix this error I wonder. Hmm. ?

Replies are listed 'Best First'.
Re^3: A CDMA problem
by juster (Friar) on Nov 17, 2011 at 22:34 UTC
    The error is pretty straightforward. That happens when you try to use a string as a hash reference. I.e.:

    my $foo = 'bar'; $foo->{'key'} = 'value'; # or likely for my $k (values %{$foo}){ ... }

    Just look at the line number specified and back-track from there. Use Data::Dumper or Data::Dump to ensure you have the values you are expecting (like a hashref instead of a string). Print them to screen alot, etc.

    I know there is one typo where I used the wrong variable ($logpkt should be $fngpkt in one spot) and I think I might have used values() where I shouldn't have. Make sure you understand values. Make sure you understand references, read perlreftut for example.