Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
more useful options
 
PerlMonks  

Re: multiple __DATA__ && __END__

by Anonymous Monk
on Nov 20, 2003 at 16:53 UTC ( [id://308720]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to multiple __DATA__ && __END__

I was unaware of the nifty modules mentioned. Up until now I have tended use prefixes to distinguish multiple categories of data in the __DATA__ section. If for aesthetic reasons you want to stick a __DATA__ section before __END__ (after which you could, e.g., have your POD), just stop reading from DATA when you see /^__END__$/.

E.g.:

use strict;
use warnings;

while (<DATA>) {
  chomp;
  last if /^__END__$/;         # stop when __END__ is encountered
  next if /^\s*(#.*|\s*)$/;   # skip blank lines or comment lines
  # Clip out and remove category prefix ("word" characters terminated by a colon)
  if (s/^(\w+)://) {
    my $category = $1;
    # P.S.  It's not really necessary to copy $1, but good if you are going to be 
    # fooling with other regex stuff.
    print "$_ is in the $category category\n";
  } else {
    die "unexpected input in __DATA__ section: '$_'";
  }
}

exit 0;

__DATA__

# 3 categories: animal, vegetable, and mineral
ANIMAL:dog
ANIMAL:cat

VEGETABLE:apple
VEGETABLE:mushroom, the State Vegetable of Pennsylvania,

MINERAL:granite

__END__

=pod

hoo hah

=cut

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://308720]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.