合并排序问题

合并排序问题

合并排序问题
不好意思,编了一个类似检索的程序,目前输出遇到了问题。想请教一下。
比如说我有两个输出文件,a和b,内容分别如下
a的内容为
##2
There are 2 entities.
##1
There is 1 entity.
b的内容为
##2
Tomorrow is another day.
##1
What a nice day!
我现在要把这两个文件合并成一个文件,输出为
##2
There are 2 entities.
Tomorrow is another day.
##1
There is 1 entity.
What a nice day!
也就是说,读取两个文件,遇到##2的话就把##2下面的句子提取出来放到一起,然后所有的##2下面的句子处理完了之后,再找到##1下面的句子放到一起。
如果用perl的话,怎么来实现?
#! /usr/bin/perl -w--u.
#! /usr/bin/perl -w
use strict;

open(FILEA,"a.txt");
open(FILEB,"b.txt");
open(FILE,">>c.txt");
my %hash;
my $name;
my @array1=<FILEA>;
my @array2=<FILEB>;
close FILEA;
close FILEB;
foreach my $num1 (@array1)
{
if ($num1=~/(^\#.*)/)
{
$name=$1;
}
if ($num1=~/^(\w.*)/)
{
$hash{$name} .="$1\n";
}
}
foreach my $num2 (@array2)
{
if ($num2=~/(^\#.*)/)
{
$name=$1;
}
if ($num2=~/^(\w.*)/)
{
$hash{$name} .="$1\n";
}
}