It would be pointless me posting my code as my question explains it exactly how it is. Ive only been using perl for the last two weeks, so bear with me please.
I tried using 'use strict' but that makes my program to not work at all.
Its definately not a my variable.
heres an example then of what i mean:
sub this_sub
{
$this_variable = "Jeff";
}
sub that_sub
{
print "Hello "."$this_variable";
}
Imagine these subs have been called accordingly, and when the last one is called, it just says "Hello ". | [reply] [d/l] |
A couple of remarks here.
- If 'use strict' makes your program break, then take the time to fix what strict is complaining about. It will never complain about something that it shouldn't. (At least, not at the level you say you're programming at.)
- Now that you have posted even just an example piece of code, we now know exactly what it is you're having a problem with. There are a number of potential problems you might have been having. Now that you have an example, I can give you a suggestion.
Try the following code. Run it "as is" once, to understand what it's doing. (You might have to change where the Perl interpreter is.)
#!/usr/local/bin/perl
use strict;
use warnings;
my $file_scoped_variable = '';
sub modify_var {
$file_scoped_variable = "Var Set";
}
sub print_var {
print "Hello ... " , $file_scoped_variable , "\n";
}
&modify_var;
&print_var;
__END__
If, when you try that small script, it doesn't work, then tell us why it doesn't work. Don't just say "Sorry, it's broken." | [reply] [d/l] |
sub this_sub
{
$this_variable = "Jeff";
}
sub that_sub
{
print "Hello "."$this_variable";
}
this_sub();
that_sub();
# prints
Hello Jeff
All I can presume is that your test case above is not the same as your real code as the test works exactly as expected. this_sub sets the global var $this_variable which is then available everwhere.
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
| [reply] [d/l] |