in reply to What's the deal with apostrophes?

The problem is that the apostrophe is special to the shell, and your quick way of reading the content of a file uses the shell.

If you don't have any double quotes in your filenames, a quick way to do what you want is:

@ModPageFile = `cat "$pagefile"`;
this will "escape" the single quotes. Of course, if you have double quotes, it breaks down again.

Alternatively, avoid the shell. Another quick way of slurping in the content of a file is:

@ModPageFile = do {local @ARGV = $pagefile; <>};
Or you could use a module like Perl6::Slurp. Or just open the file yourself, checking for errors and reading in the content:
open my $fh, "<", $pagefile or die "open $pagefile: $!"; @ModPageFile = <$fh>; close $fh or die "close $pagefile: $!";