#compdef perl
#
# zsh completion code for the Perl interpreter
# Adam Spiers <adam@spiers.net>
#

_perl () {
  _arguments -s \
    '-0-:input record separator in octal (\0, if no argument): ' \
    '-a[autosplit mode with -n or -p (splits $_ into @F)]' \
    "-c[check syntax only (runs BEGIN and END blocks)]" \
    '-d[run scripts under debugger]' \
    '-d\:-[run under control of a debugging/tracing module]:debugging/tracing module:_perl_modules' \
    '-D-:set debugging flags (argument is a bit mask or flags): ' \
    "*-e+:one line of script. Several -e's allowed. Omit [programfile]." \
    "-F-:split() pattern for autosplit (-a). The //'s are optional.: " \
    '-h[list help summary]' \
    '-i-[edit <> files in place (make backup if extension supplied)]:backup file extension: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
    '*-I-[specify @INC/#ion: ' \
