Um alle Leerzeichen zu entfernen:
$string =~ s/\s+//g;
Linke trim:
$string =~ s/^\s+//;
Rechts Trim:
$string =~ s/\s+$//;
links und rechts trim:
$string =~ s/^\s+|\s+$//g
Wir können dann auch Trimmen fucntions bauen. Dies hilft bei viel größeren Skripts, bei denen Sie nicht jedes Mal die vollständigen Ersetzungszeichenfolgen schreiben möchten, wir schreiben sie einmal und verwenden dann die Funktion, um die Arbeit zu erledigen.
Diese einfache Funktion kann in jedem Skript als trim($string);
sub trim {
$_[0] =~ s/^\s+|\s+$//g;
}
ähnlich ist es mit einem vollen Streifen von Leerzeichen verwendet werden.
sub full_strip {
$_[0] =~ s/\s+//g;
}
in einem Skript:
use strict;
use warnings;
my $string = " this is line with leading and trailing whitespaces ";
my $string2 = " another one of those lines ";
trim($string);
trim($string2);
print "$string\n";
print "$string2\n";
full_strip($string);
full_strip($string2);
print "$string\n";
print "$string2\n";
sub trim {
$_[0] =~ s/^\s+|\s+$//g;
}
sub full_strip {
$_[0] =~ s/\s+//g;
}
Warum erwarten Sie das? Bitte lesen Sie die Dokumentation für diese Funktion. – Mat
Versuchen Sie hier, Whitespaces zu trimmen: http://www.perlmonks.org/?node_id=522531 – AntonH
* Warum entfernt chomp nicht Leerzeichen um meine Zeichenfolge? * Weil das ist nicht was 'chomp()' tut :-) –