#! perl -w
use strict;
my @lines1= <DATA>;
print "number of lines = $#lines1\n";
my $fivefirstfile1= substr($lines1[2], 0, 5);
print "Five first characters are: $fivefprot1\n";
__DATA__
First line of the file.
Second line of the file.
Third line of the file.
Fourth line of the file.
Fifth line of the file.
Sixth line of the file.
That will still not work, except this line print "Five first characters are: $fivefprot1\n";is changed to print "Five first characters are: $fivefirstfile1\n"; variable $fivefprot1 requires explicit package name.
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me
I think that was the anonymous poster and samwyse's point, that it still wouldn't work but then the OPer would be able to find the problem from the messages.
samwyse's version using test lines in DATA would also demonstrate to the OPer that there was an off by one error in the array index.