in reply to from $string to shining $string

Of course, this is the same as saying:
my $string; { local $/ = undef; $string = <FILE>; } my @stuff = split '%', $string;
Now, a few things to note:
  1. Newlines will be preserved within the string. This may not be what you want.
  2. This will create null-strings wherever you have more than one '%' next to each other. This also may not be what you want.
Assuming you don't want those two situations, I'd do something like:
my $string; { local $/ = undef; $string = <FILE>; } $string =~ s/$///g; my @stuff = split /%+/, $string;

Update: Changed $/=''; to $/ = undef;. The first is "paragraph mode". The second is "slurp mode". Thanx to tye who pointed that out! :-)

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.