What is a .PL file?
It depends. 2 unrelated formats use the .pl extension, so the name alone cannot tell you what you have. The bytes can: each format below starts differently, and dropping the file on our detector settles it in a second without uploading anything.
Perl script
Code · MIME type text/x-perl · also .pm
Prolog source
Code · MIME type text/x-prolog · also .pro
Why one extension, several formats
Extensions are a convention, not a registry. Any program can claim any three or four letters, and when two did so independently, both stuck. Operating systems resolve the clash by file association, so a double-click opens whichever application last registered .pl, which may be the wrong one. Looking at the first bytes removes the guesswork: a format's signature is fixed by its specification, while its extension is whatever the file was last named.
Check it from a terminal
# macOS and Linux
xxd -l 16 file.pl
file file.pl
# Windows PowerShell
Format-Hex -Path file.pl -Count 16