perlquestion
kettle
I am using a couple of subroutines in a basic script to parse a text file:<br><br>
<code>
#!/usr/bin/perl -w
use strict;
my $text, $ques, $ans;
open(IN, "<$ARGV[0]")||die"Couldn't open $ARGV[0]: $!\n";
while(<IN>){
$text = &do_one_thing($_);
($ques, $ans) = &do_another_thing($text);
print $ques." :: ".$ans."\n";
}
close(IN);
sub $do_one_thing{
my $line=uc($_);
$line =~ s/this/that/g;
return($line);
}
sub $do_another_thing{
my $another_line, $one, $two;
$another_line = $_;
($one, $two) = $another_line =~ /(.[^\*]*)\*(.*)/;
return($one, $two);
}
</code><br><br>
So my question is, why do $ques and $ans remain lowercase; more generally, why does the second subroutine again use $_ from the main body of the program, rather than the local $_ (which I'm guessing ought to be $text)? I can rearrange the script pretty simply to make it work (by not using the extra variable) which I did, but it made me curious as to why it doesn't work the way I've written it above...<br><br>
thanks!