One strategy, if you don't want to slurp the whole file and each record is delimited by that phrase "ACCOUNT NUMBER" is something like this:
use strict;
use warnings;
use Data::Dumper;
$/ = 'ACCOUNT NUMBER';
my %records;
while (<DATA>) {
chomp;
my ($acct) = /^\s*(\d+)/;
next unless defined($acct);
$records{$acct} = $/ . $_;
}
print Dumper \%records;
__DATA__
ACCOUNT NUMBER 000111111111
YOUR LOAN PAYMENT FOR THE YEAR WILL BE 00.00
OF WHICH 00.00 WILL BE FOR PRINCIPAL AND INTEREST, 00.00
WILL GO ESCROW ACCOUNT, AND .00 WILL BE FOR
DISCRETIONARY ITEMS THAT YOU
CHOSE TO BE INCLUDED WITH YOUR LOAN PAYMENT.
THE EFFECTIVE DATE OF YOUR NEW SCHEDULED PAYMENT IS 00/00/00.
ACCOUNT NUMBER 000222222222
YOUR LOAN PAYMENT FOR THE YEAR WILL BE 00.00
OF WHICH 00.00 WILL BE FOR PRINCIPAL AND INTEREST, 00.00
WILL GO ESCROW ACCOUNT, AND .00 WILL BE FOR
DISCRETIONARY ITEMS THAT YOU
CHOSE TO BE INCLUDED WITH YOUR LOAN PAYMENT.
THE EFFECTIVE DATE OF YOUR NEW SCHEDULED PAYMENT IS 00/00/00.
ACCOUNT NUMBER 000333333333
YOUR LOAN PAYMENT FOR THE YEAR WILL BE 00.00
OF WHICH 00.00 WILL BE FOR PRINCIPAL AND INTEREST, 00.00
WILL GO ESCROW ACCOUNT, AND .00 WILL BE FOR
DISCRETIONARY ITEMS THAT YOU
CHOSE TO BE INCLUDED WITH YOUR LOAN PAYMENT.
THE EFFECTIVE DATE OF YOUR NEW SCHEDULED PAYMENT IS 00/00/00.
Output
$VAR1 = {
'000222222222' => 'ACCOUNT NUMBER 000222222222
YOUR LOAN PAYMENT FOR THE YEAR WILL BE 00.00
OF WHICH 00.00 WILL BE FOR PRINCIPAL AND INTEREST, 00.00
WILL GO ESCROW ACCOUNT, AND .00 WILL BE FOR
DISCRETIONARY ITEMS THAT YOU
CHOSE TO BE INCLUDED WITH YOUR LOAN PAYMENT.
THE EFFECTIVE DATE OF YOUR NEW SCHEDULED PAYMENT IS 00/00/00.
',
'000111111111' => 'ACCOUNT NUMBER 000111111111
YOUR LOAN PAYMENT FOR THE YEAR WILL BE 00.00
OF WHICH 00.00 WILL BE FOR PRINCIPAL AND INTEREST, 00.00
WILL GO ESCROW ACCOUNT, AND .00 WILL BE FOR
DISCRETIONARY ITEMS THAT YOU
CHOSE TO BE INCLUDED WITH YOUR LOAN PAYMENT.
THE EFFECTIVE DATE OF YOUR NEW SCHEDULED PAYMENT IS 00/00/00.
',
'000333333333' => 'ACCOUNT NUMBER 000333333333
YOUR LOAN PAYMENT FOR THE YEAR WILL BE 00.00
OF WHICH 00.00 WILL BE FOR PRINCIPAL AND INTEREST, 00.00
WILL GO ESCROW ACCOUNT, AND .00 WILL BE FOR
DISCRETIONARY ITEMS THAT YOU
CHOSE TO BE INCLUDED WITH YOUR LOAN PAYMENT.
THE EFFECTIVE DATE OF YOUR NEW SCHEDULED PAYMENT IS 00/00/00.
'
};
-sauoq
"My two cents aren't worth a dime.";
|