I'm going to guess that the variable names being the same thing as the letters they contained was only a coincidence (although, perhaps an intentional one) and that you really meant that you just wanted each letter of the string to be in a separate variable.

In that case, you don't need to bother with a hash: just use an array. Like so:

@letters = split //, $string;

If you did use a hash, you'd have to use keys to find out what letters were in the string and would end up getting back an array anyway. Plus, the letters would be irrevocably out of order. That doesn't seem like a useful solution any way around.

Of course, my solution counts each single whitespace and punctuation character as a letter, which may not be what you want. <update>But then, so do all the other solutions presented so far. ;-P</update> I still think it's closer to what you meant, though.

bbfu
Seasons don't fear The Reaper.
Nor do the wind, the sun, and the rain.
We can be like they are.


In reply to (bbfu) Re: Spliting letters in a string by bbfu
in thread Spliting letters in a string by Jemts

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.