hi again,
and which i forgot to say: while merging file1 into file2 , no key should be
double, the right key is the one in file1!!
so in fact it is a replacement of some lines in file2 by some lines in
file1, and the lines that don't exist yet in file2 are appended.
thanx, christophe folschette
Folschette wrote:
> hi again,
>
> i've got some problems using your script:
>
> best is if i give you the three files so here they are
> file1 should be merged in file2 but file2 should have the same layout as
> befor merging
>
> christophe folschette
>
>
> Rob wrote:
>
>> Christophe
>>
>> I think using Tie::File is overkill here. Try this:
>>
>> # Merge the two files into a single hash
>> #
>> for $file ( 'file2.dat', 'file1.dat' )
>> {
>> open FILE, "< $file";
>>
>> while ( <FILE> )
>> {
>> chomp;
>> ($key, $val) = split /:\s+/;
>> $data{$key} = $val;
>> }
>>
>> close FILE;
>> }
>>
>> # and splat it out again
>> #
>> open FILE, "> file3.dat";
>> printf FILE "%s: %s\n", $_, $data{$_}
>> for (sort keys %data);
>> close FILE;
>>
>> I'm not sure about your 'some text'. If you're allowing comment lines
>> starting with a hash then
>>
>> next if /^#/;
>>
>> at the start of the inner loop will do. Now if you want the comments
>> retaining, that's another matter :))
>>
>> I never like posting just a solution on the beginners' group, but I don't
>> think I'm doing anything obscure here that needs explaining. Tell me if
>> I'm wrong.
>>
>> HTH.
>>
>> Cheers,
>>
>> Rob
>>
>> ----- Original Message -----
>> From: "folschette" <[EMAIL PROTECTED]>
>> To: <[EMAIL PROTECTED]>
>> Sent: Tuesday, October 15, 2002 10:56 AM
>> Subject: file to file copy
>>
>>
>>> hello,
>>> i have to write a perl script which copies text from one file to another
>> but
>>> only if the text is not exisiting yet.
>>> For example:
>>> in file1:
>>> word: moon
>>> word2: sky
>>> ...
>>> the same syntax for every line
>>>
>>> in file2:
>>> #some text
>>> word: honey
>>> word3: lol
>>> word4: mu
>>> ...
>>> as well the same syntax for every line
>>>
>>> so now i want to merge file1 into file2, so that word: honey will be
>>> replaced by word: moon and word2: sky will be appended to file2.
>>> i have written the following script but i've got little problem with it,
>> can
>>> someone help me? or test it?
>>>
>>> thanx, christophe folschette
>>
>>
>>
>
----------------------------------------------------------------------------
>> ----
>>
>>
>>> --
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]