Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: 'grouping' substrings?

by murugu (Curate)
on Feb 01, 2006 at 16:29 UTC ( #527101=note: print w/ replies, xml ) Need Help??


in reply to 'grouping' substrings?

I have come up with this. I dont know whether using $& is effecient or not.

use strict; use warnings; my $seq="IIIIIMMMMMMMMMMMOOOOOOOOOOOOOOOOMMMMMMMMMMMMMIIIIIMMMMMMMMMOO +OOO +OOOOOOOOOMMMMMMMMMMMMMIIIMMMMMMMMMMMOOOOOOOOOOOOOOOMMMMMMMMMMMIIIIIIM +MMMMMMMMMMMMOOOOOOOOOOOOOOOOOOOOOOOMMMMMMMIIIMMMMMMMMMOOOOOOOOOOOOOOO +OOOOOOOOOOOOMMMMMMMIIIIMMMMMMMMMMMOOOOOOOOOOOOOOOOOOOOOMMMMMMMIIIMMMM +MMMMMOOOOOOOOOOOOOOOOOOOOOOOOOMMMMMMMMMIIIMMMMMMMMMMMOOOOOOOOOOOOOOOO +OMMMMMMMMI"; while ($seq=~/(M+)/g) { my $l = pos($seq); print $l-length($&)+1," to ",$l,$/; }

Regards,
Murugesan Kandasamy
use perl for(;;);


Comment on Re: 'grouping' substrings?
Download Code
Re^2: 'grouping' substrings?
by revdiablo (Prior) on Feb 01, 2006 at 16:42 UTC
    I dont know whether using $& is effecient or not.

    Using $& is not efficient, and usually to be avoided. See the entry in perlvar for details.

    Update: perhaps I was a bit imprecise. I'd say something that "imposes a considerable performance penalty on all regular expression matches" is inefficient, but I guess it depends on what type of inefficiency we're talking about.

      That's not exactly true. $& is only inefficient if you have another regexp in your program which doesn't capture.

      However, it's use is discouraged, since captures can perform the same task without the "effect at a distance" of $&.

      In this case, just replace $& with $1, and you're set.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (9)
As of 2015-07-03 17:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (54 votes), past polls