my @outputlist = join s/(^\s+|\s+$)//g, $output;
I, too, am puzzled by what you are trying to achieve overall. But the particular statement quoted above is problematic. Because the prototype (see Prototypes in perlsub) of join is $@
the s/(^\s+|\s+$)//g expression (which does a substitution on the $_ default scalar) is evaluated in scalar context and thec:\@Work\Perl>perl -e "print prototype 'CORE::join'" $@
But that doesn't matter because there is only one item in the join list, namely $output, so the result of the joining EXPR is never used.c:\@Work\Perl>perl -wMstrict -MData::Dump -le "my $output = 'something or other'; ;; $_ = ' who knows what '; my @outputlist = join s/(^\s+|\s+$)//g, $output; dd \@outputlist; " ["something or other"]
c:\@Work\Perl>perl -wMstrict -MData::Dump -le "my $output = 'something or other'; ;; $_ = ' who knows what '; my @outputlist = join 'anything at all', $output; dd \@outputlist; " ["something or other"]
Update: Here's the result of an experiment showing what happens if there is more than one string to be join-ed:
In any event, there will never be more than one element in the @outputlist array.c:\@Work\Perl>perl -wMstrict -MData::Dump -le "my $output = 'something or other'; ;; $_ = ' who knows what '; my @outputlist = join s/(^\s+|\s+$)//g, $output, 'hoo', 'ha'; dd \@outputlist; print qq{default scalar after s///: '$_'}; " ["something or other2hoo2ha"] default scalar after s///: 'who knows what'
Give a man a fish: <%-(-(-(-<
In reply to Re: Regexp question on combining white spaces and comparisons
by AnomalousMonk
in thread Regexp question on combining white spaces and comparisons
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |