yes, the variables exist in the calling program (school_data), defined
at the beginning of the program (my $school_id, my $school_name, etc).
if i pass the actual variable, i get the stored value ("135" in the 2nd
printout listing. i've tried using "my" and "our", to no effect.
this is part of an html form; the variables are defined as "" initially,
but receive the new chosen value each time the page is refreshed (hence
the "135" below).
in "school_data", the relevant parts are (currently):
our $school_id;
our $school_name;
our $school_address;
<intermediate setup code>
&ISD::clear_input(FIELDS => "school_id, school_name, school_address");
<rest of code>
with the results listed below.
On Mon, 2003-01-13 at 11:49, Dan Muey wrote:
> Are there actually variables earlier in the script?
>
> $school_id = "SKOOL ID";
> $school_name = "SKOOL NM";
> $school_address = "SKOOL AD";
>
> Print "ID - $school_id \n NM - $school_name \n AD - $school_address \n";
>
> Run that then the code you have now and see what you get.
> Also print "\$f = $f = .$$f." may be better as -$$f- instead of .$$f. just incase
>it's trying to use a var named $f. instead of $f.
>
> Dan
> -----Original Message-----
> From: Joe Mecklin [mailto:[EMAIL PROTECTED]]
> Sent: Monday, January 13, 2003 11:44 AM
> To: [EMAIL PROTECTED]
> Subject: RE: reference problem (i think)
>
>
> thanks Dan, but no go. here is the current incarnation, based on your
> suggestion:
>
> sub clear_input
> {
>
> no strict 'refs';
>
> my %options = @_;
> my $fields = $options{FIELDS};
> my (@field) = split /, /, $fields;
>
> print "\$fields = $fields <br />";
> print "\@field = @field <br />";
> foreach $f (@field)
> {
> print "\$f = $f = .$$f. <br />";
> }
> }
>
> and this is the current output:
>
> $fields = school_id, school_name, school_address
> @field = school_id school_name school_address
> $f = school_id = ..
> $f = school_name = ..
> $f = school_address = ..
>
> i still don't get the value of $school_id, etc. yet if i pass $school_id as an
>argument i do get the current value of that var, only like this (changing only
>school_id to $school_id):
>
> $fields = 135, school_name, school_address
> @field = 135 school_name school_address
> $f = 135 = ..
> $f = school_name = ..
> $f = school_address = ..
>
> any other suggestions/insights/directions, please?
>
>
>
>
> On Mon, 2003-01-13 at 11:07, Dan Muey wrote:
>
> > foreach $f(@fields) {
> >
> > $$f = ""; # or use undef, whatever
> > }
> >
> > If strict refs is in use this won't work unless you turn them off do
> > the $$f = ""; bit then turn them back on if stricy refs was in use
> >
> > So actually ( or somehting like it, I'm in a hurry and may have been
> > sloppy )...
> >
> > foreach $f(@fields) {
> >
> > no strict 'refs';
> > $$f = "";
> > if(strict refs were on before) { use strict 'refs'; }
> > }
> >
> > ...Would be better, not sure exactly how to tell if 'strict refs were
> > on before' but I'm sure there's a way.
> >
> > Dan
> >
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]