while (<>) {
last if /^ \d/;
- my $i = 1;
- my $st = 0;
- $stacks[$st] //= [];
- while ($i < length) {
- my $c = substr($_, $i, 1);
- unshift @{ $stacks[$st] }, $c if $c =~ /[A-Z]/;
- $i += 4;
- $st++;
+ my $i = 0;
+ for (/.(.). ?/g) {
+ unshift @{ $stacks[$i] }, $_ if /[A-Z]/;
+ $i++;
}
}
+use Data::Dumper;
+print Dumper \@stacks;
scalar <>;
while (<>) {
while (<>) {
last if /^ \d/;
- my $i = 1;
- my $st = 0;
- $stacks[$st] //= [];
- while ($i < length) {
- my $c = substr($_, $i, 1);
- unshift @{ $stacks[$st] }, $c if $c =~ /[A-Z]/;
- $i += 4;
- $st++;
+ my $i = 0;
+ for (/.(.). ?/g) {
+ unshift @{ $stacks[$i] }, $_ if /[A-Z]/;
+ $i++;
}
}