in reply to DATA Handle

If one of the subs in the module is trying to read from DATA then the __DATA__ has to be in the module file.

Since even I don't understand what I just wrote - I'll rephrase ;-)

Hope this helps.

   larryk                                          
perl -le "s,,reverse killer,e,y,rifle,lycra,,print"

Replies are listed 'Best First'.
(dkubb) Re: (2) DATA Handle
by dkubb (Deacon) on Sep 05, 2001 at 20:31 UTC

    larryk, you can read a __DATA__ that is in another file.

    Imagine you have a perl module called Store_Config.pm, which has some information in it's __DATA__ tags that you need to read. If you know the namespace that the __DATA__ handle is in, you can do this to read it:

    use strict; use Store_Config; use Symbol qw(qualify_to_ref); #Pull the reference to the __DATA__ handle my $fh = qualify_to_ref(DATA => 'Store_Config'); #$fh can now be acted on like a file handle read($fh, my $config, -s $fh); print "Store_Config.pm's __DATA__ content is: [$config]\n";
Re: Re: DATA Handle
by pike (Monk) on Sep 05, 2001 at 18:46 UTC
    I have the data in the same file from which I try to read them - but the problem was, I also defined a package ParfileRecord in the same file. So when I read from ParfileRecord::DATA, everything is fine. Thank you for getting me on the right track. pike