I wrote my self this subroutine... which comes in very handy :-) # # strip #
=head2 strip =over =item Description Strips out leading and training whitespaces from references... =item Input * Reference to an array, hash or string or A string =item Return * If input was a reference then, None - The reference passed as input is modified... Else, the stripped string =item Method Type * This method can be used as a class or object method =back =cut sub strip { my $self = shift; my $ref = shift; if (! ref($ref)) { $ref =~ s/(^[\s\t]*)|([\s\t]*$)//g if (defined $ref); return $ref; } elsif (ref($ref) =~ /^ARRAY$/i) { foreach my $i (0 .. $#$ref) { $ref->[$i] =~ s/(^[\s\t]*)|([\s\t]*$)//g; } } elsif (ref($ref) =~ /^HASH$/i) { while (my ($key, $value) = each %$ref) { delete $ref->{$key}; $key =~ s/(^[\s\t]*)|([\s\t]*$)//g; $value =~ s/(^[\s\t]*)|([\s\t]*$)//g; $ref->{$key} = $value; } } elsif (ref($ref) =~ /^SCALAR$/i) { $$ref =~ s/(^[\s\t]*)|([\s\t]*$)//g; } else { die "Unknown reference type"; } } On Wed, 2003-10-15 at 15:28, Sudarshan Raghavan wrote: > [EMAIL PROTECTED] wrote: > > > Can someone hlpe me clean up this trim? > > > > Rule: remove all trailing blanks and newline/LF > > perldoc -q 'How do I strip blank space from the beginning/end of a > string' > > > > > > > > Do I need a chomp here somewhere? > > No, the \s+ will take care of that > > > > > > > > sub trim > > { my $z = $_[0]; > > > > $z =~ s/^\s+//; > > You don't need the above statement if you only need to remove trailing > blanks and newlines > > > > > > $z =~ s/\s+$//; > > > > return $z; > > } > > You could maybe write the sub as > sub trim { > s/\s+$// foreach (@_); > } > > This will also trim an entire list if needed > > > > > > > > thanks, > > -rkl -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]