There can be only one __DATA__ segment, however there is another way! Use a heredoc and assign that to a variable, then you can open that variable for reading just like a file! WoW! This is way cool. Note the reference (\$data2) in the open statement.
#!/usr/bin/perl -w
use strict;
my $data2 =<<END;
This is an example
of another way
to do this than the DATA segment
END
open DATA2, '<', \$data2 or die $!;
while (<DATA2>)
{
print;
}
__END__
Prints:
This is an example
of another way
to do this than the DATA segment
Note that it is also possible to open a variable for writing! This is handy sometimes to avoid making a temporary file that you have to delete.