Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^6: $/ question

by kyle (Abbot)
on Jan 13, 2008 at 04:13 UTC ( [id://662155]=note: print w/replies, xml ) Need Help??


in reply to Re^5: $/ question
in thread $/ question

Your pattern (/^\w\w.+(\w\w).+(\d+).+(\w\w)/sg), which "should only match the first paragraph", actually matches them all (except the one that's only "1").

/^\w\w.+(\w\w).+(\d+).+(\w\w)/sg h i\n h i \n 234 \n h i /^\w\w.+(\w\w).+ (\d+) .+(\w\w)/xsg h o i\ns d fsdfsdf 23423\n h i /^\w\w.+(\w\w).+(\d+).+(\w\w)/sg h i \n h i \n 1 2 3 4

Try just enumerating the paragraphs:

sub slurpie { local $/ = ''; my $n = 1; while (<DATA>) { printf "*** paragraph %d ***\n", $n++; print; } } slurpie(); __END__ *** paragraph 1 *** hi hi 234 hi *** paragraph 2 *** hoi sdfsdfsdf23423 hi *** paragraph 3 *** hi hi 1234 *** paragraph 4 *** 1

Replies are listed 'Best First'.
Re^7: $/ question
by convenientstore (Pilgrim) on Jan 13, 2008 at 04:22 UTC
    You are right
    thanks

    #!/usr/bin/perl -w
    
    use strict;
    
    sub slurpie {
          local $/ = '';   # put into paragraph mode (separated by one or more blank lines
          while (<DATA>) {
               next unless /^\w\w.+(\w\w).+(\b\d\d\d\b).+(\w\w)/sg;  #should only match first paragraph
               print "$_\n";
          }
    }
    
    
    slurpie();
    
    __DATA__
    hi
    hi
    234
    hi
    
    hoi
    sdfsdfsdf23423
    hi
    
    hi
    hi
    1234
    
    1
    
    
    :!././././././././././perl_slurp.pl
    hi
    hi
    234
    hi
    

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2024-03-29 06:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found