PERL: split 2 part from singel file.

Hi,
I would like to split single fine into two array ..

Example: file.txt
--------------Installation --------------------

#GXTOOL=GxTools-20130501.tar.gz
GCSS=GExpLinux-BE-3700.0.12.37.tar.gz
TOP=TOPLinux-BE-3700.0.6.21.tar.gz
GHDER=GHDERLinux-BE-3700.0.6.20.tar.gz
ARCHIVE=ARCHIVELinux-BE-3700.0.3.21.tar.gz

--------------Fallback ------------

#GXTOOL=GxTools-20130128.6.tar.gz
GCSS=GExpLinux-BE-3600.0.7.704.tar.gz
TOP=TOPLinux-BE-3600.0.4.14.tar.gz
GHDER=GHDERLinux-BE-3600.0.4.11.tar.gz
ARCHIVE=ARCHIVELinux-BE-3600.0.0.48.tar.gz

And output should be

@a should be

--------------Installation --------------------

#GXTOOL=GxTools-20130501.tar.gz
GCSS=GExpLinux-BE-3700.0.12.37.tar.gz
TOP=TOPLinux-BE-3700.0.6.21.tar.gz
GHDER=GHDERLinux-BE-3700.0.6.20.tar.gz
ARCHIVE=ARCHIVELinux-BE-3700.0.3.21.tar.gz

@b should be

--------------Fallback ------------

#GXTOOL=GxTools-20130128.6.tar.gz
GCSS=GExpLinux-BE-3600.0.7.704.tar.gz
TOP=TOPLinux-BE-3600.0.4.14.tar.gz
GHDER=GHDERLinux-BE-3600.0.4.11.tar.gz
ARCHIVE=ARCHIVELinux-BE-3600.0.0.48.tar.gz

any advice on this ..

THanks,
Mani

#! /usr/bin/perl

use strict;
use warnings;

open I, "< file.txt";

my $flag = undef;
my (@a, @b);

while (<I>) {
    chomp;
    if (/Installation/) {
        $flag = 'I';
        next;
    }
    elsif (/Fallback/) {
        $flag = 'F';
        next;
    }
    
    if (/^\S+/ && $flag eq 'I') {
        push (@a, $_);
    }
    elsif (/^\S+/ && $flag eq 'F') {
        push (@b, $_);
    }
}

close I;

print "----Installation Array----\n";
for (@a) { print "$_\n" }
print "----Fallback Array----\n";
for (@b) { print "$_\n" }

thanks balajesuri...

its working fine....very nice

thanks once again

THanks,
Mani