antjock has asked for the wisdom of the Perl Monks concerning the following question:
So yesterday I posted this function:
sub clean_data { my @fields = map { s/\s+/ /g; s/\|/-/g; s/^\s//; s/\s$//; } @_; }
or something very similar. It's much cleaner now, thanks to feedback from other monks. Anyway it's being called as such:
foreach my $field ( @fieldnames ) { my $value = $q->param($field); clean_data( $value ); push( @rec, $value ); }
What I don't understand is, the sub doesn't have a return statement, so why does it work? Where is it getting a return value from? @fields should be local to the sub, and well, I don't see anything else that would indicate a return value. Why does this function return something?
I'm going to look at the perlfunc page again (I still don't understand exactly what map {...} is doing), in the meantime if somebody can help make this make sense, that would be fabulous.
cheers
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(tye)Re: Global, Local, what the..?
by tye (Sage) on Dec 15, 2000 at 02:36 UTC | |
by Ovid (Cardinal) on Dec 15, 2000 at 03:26 UTC | |
by tye (Sage) on Dec 15, 2000 at 03:34 UTC | |
|
Re: Global, Local, what the..?
by boo_radley (Parson) on Dec 15, 2000 at 01:18 UTC | |
|
(Ovid) Re: Global, Local, what the..?
by Ovid (Cardinal) on Dec 15, 2000 at 01:21 UTC | |
|
Re: Global, Local, what the..?
by lemming (Priest) on Dec 15, 2000 at 01:20 UTC |