no0bieMonk has asked for the wisdom of the Perl Monks concerning the following question:

Respectable monks I have no idea how to start on this project so I will start off with a question,if you have a file

file1:home/gonzales/something.c11111entry/kapoeira/anotherthing.c11111111111111111vikings/georgebush/house.c1111111111

and another file file2:22222222222222222222222222222222

we have in file 1 as many "1" as there are "2" in file 2 and I would like to get an output of output:home/gonzales/something.c22222entry/kapoeira/anotherthing.c22222222222222222vikings/georgebush/house.c2222222222

So my question is,is there a way to tell my program to look in file 1 find out how many "1" are between the ".c" and the "entry",how many are between the ".c" and "vikings" a.s.o and take the values from file 2 and replace the ones from file 1.I am really new to perl programming so I have no idea on how to do this...Thank you in advance :D

use warnings 'all'; use strict; use autodie; open my $input, '<', 'file1.txt'; open my $input2, '<', 'file2.txt'; open my $out, '>', 'output.txt'; while ( my $sentence = <$input> ) { my $substring = '\.c.*?entry'; $sentence =~ s{$substring}{$file2}; print $out , $sentence; }

I was thinking of using something like quotemeta but I dont know how to use it in my purpose

Replies are listed 'Best First'.
Re: work with files
by Lotus1 (Vicar) on Jan 13, 2016 at 19:31 UTC
Re: work with files
by GotToBTru (Prior) on Jan 13, 2016 at 18:14 UTC

    Quote Like Operators

    Specifically, tr

    But God demonstrates His own love toward us, in that while we were yet sinners, Christ died for us. Romans 5:8 (NASB)

Re: work with files
by FreeBeerReekingMonk (Deacon) on Jan 13, 2016 at 21:26 UTC

    You can capture with /(\.c\d+)/ then $len = length($1) gives you the elements you have.
    To match a certain amount of numbers, just use /\d{$len}/