package X; while(){ print "X:".$_ } #close(DATA); sub check_data { return defined fileno(DATA) } 1; __DATA__ 1 2 3 #### package Y; while(){ print "Y:".$_ } #close(DATA); sub check_data { return defined fileno(DATA) } 1; __DATA__ 10 20 30 40 50 60 #### # main use lib '.'; use strict; use warnings; use X; use Y; warn "hehh"; print "X opened: ".X::check_data() ."\n"."Y opened: ".Y::check_data() ."\n"; #### X:1 X:2 X:3 Y:10 Y:20 Y:30 Y:40 Y:50 Y:60 hehh at x.pm line 7, line 6. Y opened: 1 Y opened: 1