What are the concepts that must be known by a new Perl developer for searching a job. I mean to say that concept like CGI programming, OO concepts in Perl, use of different module from CPAN, etc.
Perl-related concepts are one category (including regexes, OO, cpan, etc etc); you presumably need to prove mastery of those -- presumably by performing well on tasks of understanding, fixing and extending existing code (that's how I would interview candidates, were I tasked with hiring perl programmers).
The second category is not really related to perl or any other specific language, but has to do with the general technologies needed in the specific job at hand. You mention CGI, and thats surely one possibility in SOME jobs -- but HTTP and related concepts are broader and more widely applicable. E.g., one question I love to ask as an interviewer for ANY web related job is: explain at you favorite level of abstraction what happens when a user types in a browser www.foobar.com
and hits enter. This lets me delve into as-deep-as-needed detail on HTTP, TCP, IP, DNS, caching of all kinds, etc, etc.
For a job with no web connection (if there were ANY left;-) I'd focus instead on whatever else the scripts the candidate will produce or maintain if hired are supposed to do -- Linux kernel and sysadm issues, or maybe Windows or BSD or Solaris ones -- or release engineering concepts, version control systems (distributed or otherwise), bioinformatics... whatever! KNOW what the job you're interviewing for actually entails, and be prepared specifically for it: there's NO "one size fits all"!-)
Things I look for when hiring a Perl developer:
- competence with respect to Perl's syntax (knows what the control structures are)
- competence with respect to variables (knows what the variable types are and how they can be used to build complex data structures)
- knowledge of what strict is and why it should be used
- basic understanding of context (void, scalar, and list)
- basic understanding of regexes
- understanding of what CPAN is
- basic understanding of how modules work
Of course, the particulars depend on the level of the problem and the problem of the domain. However, we've made a list of the fundamentals in Learning Perl and Intermediate Perl, both of which I would expect from a person who's primary job is as a programmer working with Perl. Those are just the fundamentals. The particular job may require more.