perl -le 'print $1 while ($ARGV[0] =~ s/(.{1,2})(.*)/$2/g);' "12345678 +9" perl -le '$c=-2; print while $_ = substr $ARGV[0], $c+=2, 2;' "1234567 +89" # or perl -le 'while ($_ = substr $ARGV[0], $c, 2) { print; $c+=2 };' "1234 +56789" perl -le '@_=reverse split//, $ARGV[0]; while (@_) {print join"", (pop +@_, pop@_);}' "123456789" perl -le '@_=split//, $ARGV[0]; while (@_) {print join"", (shift@_, sh +ift@_);}' "123456789" perl -le '@_=split//, $ARGV[0]; while (@_) {print join "", splice @_, +0, 2}' "123456789" perl -le '@_ = split //,$ARGV[0]; splice @_, $_, 2, $_[$_].$_[$_+1] fo +r 0..$#_/2; print "@_"' "123456789" # some alternatives to ones already posted.. perl -le 'print for grep /./, split /(..)/, $ARGV[0]' "123456789" perl -le 'print for unpack "(Z2)*", $ARGV[0]' "123456789" # probably the fastest echo 123456789 | perl -nle 'print for /(..?)/g'
In reply to Re: how to split input data ?
by Firefly258
in thread how to split input data ?
by bh_perl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |