14jun/110
How to trim whitespace with a custom subroutine in Perl
Since perl does not have a built-in trim function (yet). Use the subroutine below to trim whitespace (spaces and tabs) from the beginning and end of a string in Perl. This function is directly based on the Perl FAQ entry, How do I strip blank space from the beginning/end of a string?. The ltrim and rtrim functions can trim leading or trailing whitespace.
#!/usr/bin/perl # Declare the subroutines sub trim($); sub ltrim($); sub rtrim($); # Create a test string my $string = " \t Hello world! "; # Here is how to output the trimmed text "Hello world!" print trim($string)."\n"; print ltrim($string)."\n"; print rtrim($string)."\n"; # Perl trim function to remove whitespace from the start and end of the string sub trim($) { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; return $string; } # Left trim function to remove leading whitespace sub ltrim($) { my $string = shift; $string =~ s/^\s+//; return $string; } # Right trim function to remove trailing whitespace sub rtrim($) { my $string = shift; $string =~ s/\s+$//; return $string; }
10jun/110
How to handle filenames containing whitespace in Bash
First capture the current IFS in $SAVEIFS and then replace it with a newline instead of spaces, now do your thing and afterwards restore the IFS with $SAVEIFS.
And yes, you can not use new lines in filenames
#!/usr/local/bin/bash SAVEIFS=$IFS IFS=$(echo -en "\n\b") for f in * do echo "$f" done IFS=$SAVEIFS




