When our student friend turns in his assignment he should be sure to add single quotes around
filename on line number 4.
He should also add comments explaining what is going on and add some code to print out the array values. A final result (containing the obfuscatory dereferenced reference) is thus:
#!/usr/bin/perl -w
use strict;
use IO::File;
use constant FILENAME => 'filename'; #Replace filename with name of in
+put file.
my $file = IO::File->new( "< ". FILENAME )
or die "Failed to open '@{[FILENAME ]}', $!"; # Dereferenced array
+ ref and OS error
my @elements;
{
local $/ = $/.$/; #Replace default input delimeter (\n) with (\n\n
+)
@elements = <$file>;
}
$file->close();
#Now test to see that everything reads out okay
print "Here are the elements of the array:\n";
for (my $i = 0; $i < @elements; $i++) {
print "Element number $i of the array is:\n$elements[$i]\n";
}
If our friend makes some effort to understand what he has submitted then he will have learned his lesson well. Maybe we will see him here with Tye and Merlyn someday.