in reply to Re: Lines of single character to array
in thread Lines of single character to array

What I am hoping for, is an array of the results
dansue dansue dansue dawnig dawnig gilboi gilboi gilboi jertra jertra jertra joahur joahur joahur judnor judnor judnor stehop stehop stehop waladl waladl waladl
Where each of those 6 letter becomes an object in the array.

Replies are listed 'Best First'.
Re^3: Lines of single character to array
by davido (Cardinal) on Aug 13, 2015 at 18:01 UTC

    So everywhere you print a character, concatenate into a string. And everywhere you print a newline, push that string onto an array:

    use strict; use warnings; my @array; while (my $name = <DATA>) { chomp $name; next unless length $name; my @t = split(/\./, $name); my $x = @t; my $iii = 10; my $string; while ($iii < $x-1) { $string .= chr $t[$iii++]; } push @array, $string; } print "$_\n" for @array; __DATA__ iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.110.115.117.101.18481153 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.110.115.117.101.18481154 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.110.115.117.101.18481155 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.119.110.105.103.18468865 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.119.110.105.103.18468866 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.103.105.108.98.111.105.18460673 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.103.105.108.98.111.105.18460674 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.103.105.108.98.111.105.18460675 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.101.114.116.114.97.18366465 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.101.114.116.114.97.18366466 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.101.114.116.114.97.18366467 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.111.97.104.117.114.18477057 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.111.97.104.117.114.18477058 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.111.97.104.117.114.18477059 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.117.100.110.111.114.18505729 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.117.100.110.111.114.18505730 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.117.100.110.111.114.18505731 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.115.116.101.104.111.112.18489345 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.115.116.101.104.111.112.18489346 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.115.116.101.104.111.112.18489347 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.119.97.108.97.100.108.18452481 = ST +RING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.119.97.108.97.100.108.18452482 = ST +RING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.119.97.108.97.100.108.18452483 = ST +RING:

    Dave

      Awesome Dave, I hadn't thought about .=
Re^3: Lines of single character to array
by pme (Monsignor) on Aug 13, 2015 at 18:13 UTC
    This way all the six-letter strings are pushed onto @array.
    #!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; my @array; while ((my $name = <DATA>)) { my @t = split(/\./, $name); my $string = join('', map(chr, @t[15 .. @t-2])); push @array, $string; } print Dumper( \@array ) . "\n"; __DATA__ iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.110.115.117.101.18481153 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.110.115.117.101.18481154 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.110.115.117.101.18481155 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.119.110.105.103.18468865 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.100.97.119.110.105.103.18468866 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.103.105.108.98.111.105.18460673 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.103.105.108.98.111.105.18460674 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.103.105.108.98.111.105.18460675 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.101.114.116.114.97.18366465 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.101.114.116.114.97.18366466 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.101.114.116.114.97.18366467 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.111.97.104.117.114.18477057 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.111.97.104.117.114.18477058 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.111.97.104.117.114.18477059 = S +TRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.117.100.110.111.114.18505729 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.117.100.110.111.114.18505730 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.106.117.100.110.111.114.18505731 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.115.116.101.104.111.112.18489345 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.115.116.101.104.111.112.18489346 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.115.116.101.104.111.112.18489347 = +STRING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.119.97.108.97.100.108.18452481 = ST +RING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.119.97.108.97.100.108.18452482 = ST +RING: iso.3.6.1.4.1.9.9.392.1.3.21.1.2.6.119.97.108.97.100.108.18452483 = ST +RING:
      Thanks Dave, that fixed my issue :)