#! /usr/bin/perl -w

# Split a large VCF file into individual VCARDs.

use strict;

my $cnt = 0;

while (<>) {
    last if /^BEGIN:VCARD/;
}
my $data = "BEGIN:VCARD\n";
while (<>) {
    if (/^END:VCARD/) {
        my $filename = "vcf_split_$cnt.vcf";
        open my $fh, "> $filename" or die "$filename: $!\n";
        $cnt++;

        chop $data;
        print $fh <<EOF;
$data
END:VCARD
EOF

        $data = "";
    } else {
        $data .= $_;
    }
}
