in reply to Filehandle of the current sourcecode, pointing after last code line?
Just fully qualify your file handles.
# file Foo.pm package Foo; 1; __DATA__ Foo foo foo foo
# file Bar.pm package Bar; 1; __DATA__ print Bar. I told you so.
Last, the script...
#!/usr/bin/perl use Foo; use Bar; print while <DATA>; print "Foo:\n"; print while <Foo::DATA>; print "Bar:\n"; print while <Bar::DATA>; __DATA__ so this works. __END__ so this works. Foo: Foo foo foo foo Bar: print Bar. I told you so.
If you can read from the different DATA filehandles, you've got them. ;)
Parting from there, you can get at the file name via fileno and /proc/$$/fd/ (on linux, that is):
#!/usr/bin/perl use Foo; use Bar; print while <DATA>; system "ls -l /proc/$$/fd"; print "Foo: ",fileno Foo::DATA, "\n"; print while <Foo::DATA>; print "Bar: ",fileno Bar::DATA, "\n"; print while <Bar::DATA>; __DATA__ so this works.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Filehandle of the current sourcecode, pointing after last code line?
by LanX (Saint) on Oct 13, 2014 at 09:45 UTC | |
by shmem (Chancellor) on Oct 13, 2014 at 10:28 UTC | |
by LanX (Saint) on Oct 13, 2014 at 10:43 UTC |