Habe einen String, etwa wie der hier:
$String = 123456789123456789;
Würde den gern alle sagen wir mal 3 Zeichen spliten, damit es etwa so aussieht:
@Array = (123,456,789,123,456,789,123,456,789);
Gleichzeitig soll $String stückweise entfernt werden. Also die Zeichen sollen quasi "verschoben" werden.
Den es können grosse Strings von mehreren Mbs sein.
Es müssen nicht unbedingt Zahlen sein.
Es muss nciht sein, das $String durch die Zahl 3 teilbar sein wird.
Hab es erstmal so versucht:
while (1) {
push(@Blocks, substr($Data,0,3)="");
if ($Data eq "") {
last;
}
}
Funktioniert soweit auch, allerdings hab ich hier irgendwie das Problem, das die ersten 3 Zeichen fehlen. Habe statt dessen einen leeren Arrayelement am Ende.
Habs dann so versucht:
@Blocks = $Data =~ m/.{1,3}/g;
Funktioniert soweit auch, allerdings bleibt $Data bestehen.
Hab es dann weiter versucht:
@Blocks = $Data =~ s/.{1,3}//g;
Hier gibts aber das Problem, das ich wahrscheinlich die Anzahl an Arrayelemente ausgegeben bekomme?!?!
Was mach ich falsch? Was wäre besser?\n\n
<!--EDIT|Free Faq|1093108345-->
Haut mich nicht, ich bin ein Noob!