Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^4: Make string that results from split behave like double-quoted string

by protist (Monk)
on Aug 23, 2013 at 22:34 UTC ( #1050744=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Make string that results from split behave like double-quoted string
in thread Make string that results from split behave like double-quoted string

The "line" I posted was actually an excerpt, and identical

to the one in your second example. I am confused about

what you think I did wrong.

I was actually referring to glenn's code, which

made no use of the counter aside from indexing.

Even if you were to want to show a counter, there are other ways

my $c = 0; for(@a){ print "$c: $_\n"; $c++; }


Comment on Re^4: Make string that results from split behave like double-quoted string
Download Code
Re^5: Make string that results from split behave like double-quoted string
by ww (Bishop) on Aug 24, 2013 at 12:57 UTC

    Sorry, in the first instance, for appearing to attribute error to you. The problem I intended to address, IMO, is threefold -- unwise use of a C-style loop, incorrect understanding of the /pattern/ in split and processing that doesn't touch the relevant data.

    1. You're absolutely correct to say "glenn's code...made no use of the counter aside from indexing." In fact, that pretty much encapsulates my first and third points -- sorry that wasn't clearer -- which is that iterating over an array but printing only the counter, $x, as in your code or glenn's won't get you the contents of the array. They're being extracted (NB exception below) and discarded to the bit bucket. If one merely wishes to create an ordered numeric sequence, there are better ways, one of which may, depending on circumstances, be the method you show.
    2. As to that 'exception' comment, glenn's @arr appears by magic, without a source, in the split line. If the source is a record andan array, as in OP's example, 1,1999,"ln with \n newline", and is somehow contained in the default var, $_ ... well, then the var isn't an array. Oops!
    3. And if the record is seen as a string, the cited code won't work because the pattern in split, "/\|/, is the token upon which the source data is separated. Perhaps the writer confused split and join. (Many replies seem to assume there are vbars in OP's data. I don't see them.)

    Apologies to all those electrons which were inconvenienced by the creation of this post.

      Ah I see more what your thoughts are now. :)

      I think glenn's code is supposed to be within

      a while (<FH>) { loop implicitely.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (11)
As of 2014-12-17 20:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (31 votes), past polls