Si tu as une chaine de texte $string, et que tu veux la decouper en un array @string_parts de sous-chaines de taille $maxSize, il y a le code suivant, particulièrement élégant:
@string_parts = $string =~ /(.{1,$maxSize})/go;
Apres, il te suffit d'adapter a tes besoins.
Par exemple ce code ci va tronquer a 8 caracteres par ligne un fichier passé en entrée:
Code :
- #!/usr/bin/perl
- use warnings;
- use strict;
- my $maxSize = 8;
- while (<STDIN> ) {
- print /(.{1,$maxSize})/o, "\n";
- }
|
Tandis que celui la va wrapper a 8 caracteres par ligne un fichier passé en entrée:
Code :
- #!/usr/bin/perl
- use warnings;
- use strict;
- my $maxSize = 8;
- while (<STDIN> ) {
- print ((join "\n", (/(.{1,$maxSize})/go)), "\n" );
- }
|
A+,
Message édité par gilou le 13-08-2008 à 11:25:43
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --