Please use <CODE> ... </CODE>
to surround any code or other file contents you post, as
that will make it more readable and responses more likely.
This is what you posted :
The input is for example:
http://www.ad.nl/actueel/ZZZK51QP4DC.html&May occure often &
The output should be:
url1=http://www.ad.nl/actueel/ZZZK51QP4DC.htmlitem1=May occure often
And this for more lines.
So the number must increase for the next line.
$vervang =~ s/http/url1=http/;
$vervang =~ s/&/item=/g;
print $vervang;
@buffer = $vervang;
print @buffer;
foreach $teller(0..15)
{
$telop{"http"} = 'url' . ($teller+1) . '=http';
print $telop;
}
foreach $vervang(@buffer)
{
$vervang =~ s/& http/$telop/gi;
print $vervang;
}
Here is my try at it (completely untested, sorry) :
use strict; # always do this
my $line; # this will contain the current line read
# from stdin. We could also have used $_,
# but using $line is less cryptic
my $counter = 1;
# This is the counter of the urlXX= string
while (<>) { # while we get input, we read it
$line = $_;
# Munge the current line into what we want
$line =~ s!^http://!url$counter=http://!i;
# BastardOperator made a post below that got me thinking.
# Maybe you want it this way :
$line =~ s!&!item=!g;
# but maybe you want item1=bla item2=ble etc.
# This line will do the second :
my $itemcount = 1;
while ($line =~ s/&/$itemcount++/e) {
# the action is in the while statement
}
# and print it
print $line;
# and increment our counter
$counter++;
};
But the meaning of the lines following this code is completely
unclear to me. What do you want to accomplish by using
@buffer = $vervang;
? @buffer is an array, and $vervang is
the munged line.
|