Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: DATA Handle

by larryk (Friar)
on Sep 05, 2001 at 18:33 UTC ( [id://110304]=note: print w/replies, xml ) Need Help??


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 ;-)

  • The __DATA__ tag has to be in the module if the code reading from <DATA> is in the module.
  • If you are reading from DATA in the .pl file then the __DATA__ has to be in the .pl file (although in this case you can use __END__ interchangeably with __DATA__).
  • You cannot (AFAIK) read from __DATA__ in another file.

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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://110304]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2024-04-16 08:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found