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ı <[email protected]>: > Hi Richard, > > On Thu, Aug 27, 2015 at 8:05 PM, Richard Reina <[email protected]> > 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 <[email protected]>: > >> > >> 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 <[email protected]> > >> 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 <[email protected]>: > >> >> > >> >> 2015-08-27 17:28 GMT+03:00 Richard Reina <[email protected]>: > >> >> > >> >> > 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 > >> >> [email protected] > >> >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > >> > > >> > > >> > > >> > _______________________________________________ > >> > dancer-users mailing list > >> > [email protected] > >> > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > >> > > >> _______________________________________________ > >> dancer-users mailing list > >> [email protected] > >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > > > > > > _______________________________________________ > > dancer-users mailing list > > [email protected] > > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > > > > -- > Kadir Beyazlı > Computer Engineer > GSM : +90 535 821 50 00 > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >
_______________________________________________ dancer-users mailing list [email protected] http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
