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

Re^2: parsing question

by smist (Acolyte)
on Dec 07, 2006 at 13:44 UTC ( #588314=note: print w/ replies, xml ) Need Help??


in reply to Re: parsing question
in thread parsing question

Could someone please explain the following line? I haven't been able to figure out what the split function does here.

my @sections = split '-{103}', do{ local $/; <> };


Comment on Re^2: parsing question
Download Code
Re^3: parsing question
by joeface (Pilgrim) on Dec 07, 2006 at 16:20 UTC

    This sets the default line-separator (held in "$/", normally set to "\n") to undef, so that whatever comes in from STDIN (<>) will get slurped up, split on the string "-{103}", and assigned to @sections.

    A short example... put the following into a script named "test.pl":

    #!/usr/bin/perl -w use strict; my @sections = split 'FOO', do {local $/; <>}; close *ARGV; print join("\n", @sections);

    Then, put the following into a file called "test.txt":

    FOObarFOObarFOObarFOObarFOObar FOObarFOObarFOObarFOObarFOObar FOObarFOObarFOObarFOObarFOObar

    Then, run the following at the command-line:

    cat test.txt | ./test.pl
      Thanks for the reply. I'm not seeing where "-{103}" is, in the text file I'm parsing.

      UPDATED: Nevermind the above. :-) I'm such a newbie. I didn't recognize the {} as being quantifiers in a regex. So, "-{103}" is simply the line of hyphens used to separate the sections in the text file.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-11-26 00:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (160 votes), past polls