Thank you all for the very sage replies. This was all so very instructive that I put the derefrencing syntax in the comments of my code in case I need in the future. 2015-08-28 1:31 GMT-05:00 Kadir Beyazlı <kadirbeyazli@gmail.com>:
Hi Richard,
On Thu, Aug 27, 2015 at 8:05 PM, Richard Reina <gatorreina@gmail.com> wrote:
That worked! Thank you very much.
Interestingly though $input_hash->{ $key } appears as a hash ref "HASH(0xa1d2344)" which I was not able to dereference with %$input_hash->{key}. [KB] WK's answer is absolutely right. You can not use %$input_hash->{key}, you must use brackets : %{$input_hash->{key}}. This doesn't bother me much because all I really need to know is that it has value -- that tells me the user checked the box for this option.
So, instead of looking at the actual value I was just going to do:
# get parameter for accomp type keys foreach my $key ( keys %$Accomps ) {
if ( param( $key ) ) { # paramter has value $input_hash->{ $key } = $Accomps->{ $key };
# user checked this box. Enter a record into TO_DO table
} }
Is that okay? Or would such an un-exact way of doing it have a downside?
2015-08-27 11:24 GMT-05:00 Yitzchak Scott-Thoennes <sthoenna@gmail.com>:
The symbolic reference there is $key; you are (unintentionally, I'd guess) using print's:
print FILEHANDLE LIST
syntax, and it is trying to use $key as the filehandle.
Maybe you meant:
print $key, $input_hash->{ $key }, "\n"
On Thu, Aug 27, 2015 at 8:42 AM, Richard Reina <gatorreina@gmail.com> wrote:
Hi WK,
Thanks for the reply. Line 577 is the print statement print $key $input_hash->{ $key } . "\n"; In the foreach. I know I shouldn't be printing here however, I just want to see what value comes across for for
example
$input_hash->{ '13' } before I create a DB record based on that value.So I guess I just need help figuring out how to see or get the value out of $input_hash->{ID NUMBER}.
2015-08-27 10:07 GMT-05:00 WK <wanradt@gmail.com>:
2015-08-27 17:28 GMT+03:00 Richard Reina <gatorreina@gmail.com>:
After figuring out how to accommodate my placeholder in selectall_hashref I did this:
my $Accomps = $dbh->selectall_hashref( $q, 'ID', \%attr, $Sid );
If you need placeholder here, but you don't have need for any attributes, you may use `undef` here
my $Accomps = $dbh->selectall_hashref( $q, 'ID', undef, $Sid );
Then as you suggested I do:
# get parameter for accomp type keys foreach my $key ( keys %$Accomps ) { print "Checking: " . $key . " for value.\n"; if ( param( $key ) ) { $input_hash->{ $key } = $Accomps->{ $key }; print $key $input_hash->{ $key } . "\n"; } }
(just printing temporarily to see if it trapped the values)
Here we actually don't need values of $Accomps-hashref, we just using it as list to check out form values, so depending of your futher needs, you may assign your specific value here, like, for example:
$input_hash->{ $key } = 1;
However, I get this error:
Route exception: Can't use string ("1") as a symbol ref while "strict refs" in use at /home/richard/Dancer2/MyApp/bin/../lib/MyApp.pm line 557.
Any idea what I am doing wrong?
What is on line 577 of your MyApp.pm?
Wbr, -- Kõike hääd,
Gunnar _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Kadir Beyazlı Computer Engineer GSM : +90 535 821 50 00 _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users