http://qs321.pair.com?node_id=666729

convenientstore has asked for the wisdom of the Perl Monks concerning the following question:

What is up w/ below code?
Why can't this simple script just spit out what it sees in data?
#!/usr/bin/perl -w use strict; #my @yahoo = map { split(/\n/, $_) } <DATA>; my @yahoo = <DATA>; while (@yahoo) { chomp; print $_; } __END__ hi nus mine hi no mine ### hi on mine ## hi nus mine hi hi hi hi hi hi
running this I get
Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized value in print at ./split_file.pl line 12, <DATA> + line 9. Use of uninitialized value in scalar chomp at ./split_file.pl line 11, + <DATA> line 9. Use of uninitialized
Putting dumper gets me,
use strict; use Data::Dumper; #my @yahoo = map { split(/\n/, $_) } <DATA>; my @yahoo = <DATA>; #print "@yahoo\n"; print Dumper(@yahoo);
./split_file.pl $VAR1 = 'hi nus mine '; $VAR2 = 'hi no mine '; $VAR3 = '### '; $VAR4 = 'hi on mine '; $VAR5 = '## hi nus mine '; $VAR6 = 'hi hi hi '; $VAR7 = 'hi '; $VAR8 = 'hi '; $VAR9 = 'hi ';