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]

Reply via email to