Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: confused with strings

by GrandFather (Saint)
on Jan 11, 2006 at 11:40 UTC ( #522407=note: print w/replies, xml ) Need Help??


in reply to confused with strings

Are you given ABCD or are you given the position and length (or start and end) of the substring? Can the * and !'s occur anywhere? You should give a before and after sample. Something like this:

__DATA__ XXXXXXABCDXXXXXXXX XX**XXX!!!X**AB*!C*DXX*!!!XXX**XXX

Want to print:

10 characters added XXXXXXABCD**!!!***!*XX*!!!XXX**XXX

The following code may be a good starting point:

use strict; use warnings; my $match = 'ABCD'; while (<DATA>) { my $org = $_; defined (my $mutated = <DATA>) or die "Missing edited line"; my $segment = substr $mutated, 0, index ($mutated, substr $match, 3, + 1) + 1; my $suffix = substr $mutated, index ($mutated, substr $match, 3, 1) ++ 1; (my $pInsert = $segment) =~ tr/*!//cd; (my $pSegment = $segment) =~ tr/*!//d; print length ($pInsert) . " characters added\n"; print "$pSegment$pInsert$suffix\n"; } __DATA__ XXXXXXABCDXXXXXXXX XX**XXX!!!X**AB*!C*DXX*!!!XXX**XXX

Note that some error checking should be added and that there are a few assumptions about the match string and what the X sequences can actually contain.


DWIM is Perl's answer to Gödel

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2022-11-30 06:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?