Benne: string in blöcke aufteilen

Beitrag lesen

Hallo opi,

my $string  = "123456789012 ww "; # ww zum Testen der entfernten Leerzeichen

my $bloecke = [];
my $laenge  = length($string);
for (my $i = 0 ; $laenge > $i ; $i += 4) {
   my $val = substr($string,$i,4);
   $val =~ s/^\s+//;
   $val =~ s/\s+$//;
   push @$bloecke, $val;
}
foreach (@$bloecke) {
   print "<$_>\n";
}

  
ich weiß zwar nich, was du da für komische Handstände und Flickflacks machst, aber effizienter geht es z.B. so:  
  
~~~perl
  
#!/usr/bin/perl -T  
use strict;  
use warnings;  
  
my $string = "123456789012 ww ";  
# String in 4er Zeichenblöcke ohne Leerzeichen zerlegen  
my @bloecke = grep { /^\S+$/ } split /(\S{1,4})/, $string;  
  
# Ausgabe  
print join ", ", @bloecke;  
print "\n";  

Gruß,
Benne

--
ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)