Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^3: SQL::Abstract 'between' clause (about done)

by Anonymous Monk
on Nov 22, 2011 at 10:53 UTC ( #939422=note: print w/ replies, xml ) Need Help??


in reply to Re^2: SQL::Abstract 'between' clause (about done)
in thread SQL::Abstract 'between' clause (about done)

The problem in a nutshell

$ cat junk use strict; use warnings; use diagnostics; my %where = (); $where{something} = 4; $where{something}{else} = 5; __END__ $ perl junk Can't use string ("4") as a HASH ref while "strict refs" in use at jun +k line 5 (#1) (F) Only hard references are allowed by "strict refs". Symbolic references are disallowed. See perlref. Uncaught exception from user code: Can't use string ("4") as a HASH ref while "strict refs" in us +e at junk line 5. at junk line 5

Either $where{something} is a hashref or it isn't, it can't be both, so pick one

You can pick

#~ $where{$colname}=$colval; $where{$colname}{colval} =$colval;

There are other problem, but I'll leave that to others


Comment on Re^3: SQL::Abstract 'between' clause (about done)
Select or Download Code
Replies are listed 'Best First'.
Re^4: SQL::Abstract 'between' clause (about done)
by Anonymous Monk on Nov 22, 2011 at 14:16 UTC
    From the POD I see
    my %where = ( user => 'nwiger', completion_date => { -not_between => ['2002-10-01', '2003-02-06'] } );
    I don't see where I can use this functionality with the two choices you mentioned to pick from. Thanks for the advice by the way. If I can get this part working I am keen to know what other problems you have found

      To create the data you see in the POD with scalar assignements you would have to write this:

      $where{user}= 'nwiger'; $where{completion_date}{-not_between}= ['2002-10-01', '2003-02-06'];

      What would be a problem is if you used this as well:

      $where{completion_date}= 5;

      Because $where{completion_date} can't be pointer to a hash and scalar value at the same time. But nothing prevents you from storing further scalar values or hash pointers in $where{thingy} or $where{stuff} or $where{completion_date}{depperstuff}

      A big help might be to watch Data::Dumper output of %where after you execute each of the above statements

        Thanks but isn't my code doing what your code does?
        $where{$colname}{'-between'} = [$from,$to]; #my code where{completion_date}{-not_between}= ['2002-10-01', '2003-02-06'];#yo +ur code
        I though $from and $to would work as they contain the right values.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://939422]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (17)
As of 2015-07-28 21:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (259 votes), past polls