<[EMAIL PROTECTED]> wrote:
>
> Can someone hlpe me clean up this trim?
>
> Rule: remove all trailing blanks and newline/LF
>
> Do I need a chomp here somewhere?
>
> sub trim
> { my $z = $_[0];
>
> $z =~ s/^\s+//;
> $z =~ s/\s+$//;
>
> return $z;
> }
Do you mean /leading/ and trailing, which is what you've coded?
How about this:
sub trim {
do { s/^\s+//; s/\s+$// } for my $z = shift;
$z;
}
my $x = ' xxxxxxxx ';
print map "<<$_>>\n", $x, trim $x;
OUTPUT
<< dddddddd >>
<<dddddddd>>
No chomp is needed unless you have changed the input record
separator. It is normally set to "\n" which is a whitespace
character and will be removed by s/\s+$//.
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]