Thread suchen und löschen im array (15 answers)
Opened by bieber at 2007-06-18 18:03

renee
 2007-06-20 13:18
#77631 #77631
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn man sich die <!--pod_f1--><a href="//perldoc.perl.org/functions/split.html" target="_blank"><img alt="perldoc " src="/iB_html/non-cgi/Skin/SKIN-3/images/perldoc.gif" border="0"> <!--pod_f2-->perldoc zu split<!--pod_f3--></a><!--pod_f4--> anschaut, dann sieht man, dass der erste Parameter ein regulärer Ausdruck ist. Dein split "." entspricht als eigentlich dem split /./. Und der Punkt steht in Regulären Ausdrücken für ein "beliebiges Zeichen". Und bei split werden die Trennzeichen nicht behalten, außer man sagt es explizit durch Klammerung. Was bei Deinem Ausdruck passiert, wird also deutlich wenn Du folgendes machst:
Code (perl): (dl )
1
2
3
4
use Data::Dumper;

my @array  = split "(.)" , $work[3];
print Dumper \@array;


Um an einem literalen Punkt, also dem Zeichen '.' zu splitten, musst Du das im Regulären Ausdruck escapen. Deswegen das \. Damit das ganze Übersichtlicher wird, packen wir das gleich in //. So erkennt man auch gleich, dass es sich um einen Regulären Ausdruck handelt.

Wenn Du es mit der String-Variante machen möchtest, müsstest Du split "\\." , $work[3]; schreiben.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread suchen und löschen im array