Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Lines of single character to array

by pme (Prior)
on Aug 13, 2015 at 17:39 UTC ( #1138462=note: print w/replies, xml ) Need Help??


in reply to Lines of single character to array

What is the expected output of your script?

Replies are listed 'Best First'.
Re^2: Lines of single character to array
by ALykke (Initiate) on Aug 13, 2015 at 17:49 UTC
    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.

      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 .=
      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 :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1138462]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (6)
As of 2020-01-18 11:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?