<?xml version = '1.0' encoding = 'UTF-8'?>

<!--
#===============================================================================
#
#         FILE:  templates-eclipse-epic.xml
#
#  DESCRIPTION:  Templates for automatical code completition in EPIC
#
#       AUTHOR:  Matthias Faulstich <faulstich@fh-swf.de>
#      COMPANY:  Fachhochschule Suedwestfalen
#      VERSION:  0.1
#      CREATED:  06.02.2006 CET
#===============================================================================
-->

<templates>
  <template context="perl" name="# Frame Comment" enabled="true" description="Frame comment for code structure commentation" >#---------------------------------------------------------------------------
#  ${cursor}
#---------------------------------------------------------------------------</template>
  <template context="perl" name="ifelse " enabled="true" description="if-else-Statement" >if (${condition}) {
	${cursor}
} else {
	
}</template>
  <template context="perl" name="if" enabled="true" description="if condition" >if (${condition} ) {
	${cursor}
}</template>
  <template context="perl" name="# Function Comment" enabled="true" description="Perl function comment" >#===  FUNCTION  ================================================================
#  NAME:        ${name}
#  PURPOSE:     ${purpose}
#  DESCRIPTION: ${describtion}
#  PARAMETERS:  ${params}
#  RETURNS:     ${return}
#===============================================================================</template>
  <template context="perl" name="# File Comment" enabled="true" description="Perl file comment" >#!/usr/bin/perl -w
#===============================================================================
#
#  FILE:        ${filename}
#
#  USAGE:       ./${filename} ${options}
#
#  DESCRIPTION: ${description}
#
# OPTIONS:      ${options}
# REQUIREMENTS: ---
# BUGS:         ---
# NOTES:        ---
# AUTHOR:       ${user}
# COMPANY:      ---
# VERSION:      1.0
# CREATED:      ${date} ${time} CET
# REVISION:     ---
#===============================================================================

use strict;
use warnings;</template>
  <template context="perl" name="# Module Comment" enabled="true" description="Perl module comment" >#===============================================================================
#
#  FILE:        ${filename}
#
#  DESCRIPTION: ${description}
#
#  FILES:       ---
#  BUGS:        ---
#  NOTES:       ---
#  AUTHOR:      ${user}
#  COMPANY:     ---
#  VERSION:     1.0
#  CREATED:     ${date} ${time} CET
#  REVISION:    ---
#===============================================================================
package ${packagename};

use strict;
use warnings;


1;</template>
  <template context="perl" name="# Method Comment" enabled="true" description="Perl method comment" >#===============================================================================
#
#  METHOD:      ${method}
#
#  DESCRIPTION: ${description}
#
#  ${param1}:   
#    ${desc_param1}
#  ${param2}:   
#    ${desc_param2}
#  ${param3}:   
#    ${desc_param3}
#  ${param4}:   
#    ${desc_param4}
#
#  RETURN:  ${return}
#===============================================================================</template>
	<template context="perl" name="=pod / =cut" enabled="true" description="POD block from begin to end" >

=pod

${cursor}

=cut

</template>
	<template context="perl" name="=cut" enabled="true" description="End of POD block" >

=cut

${cursor}

</template>
  <template context="perl" name="=for / =cut" enabled="true" description="Formatting region text/code/data" >

=for ${formatname}

${cursor}

=end ${formatname}

</template>
	<template context="perl" name="=begin html / =end" enabled="true" description="HTML documentation" >

=begin  html

${cursor}

=end    html  #  back to Perl

</template>
  <template context="perl" name="=begin man / =end" enabled="true" description="man pages documentation" >	

=begin  man 

${cursor}

=end    man   #  back to Perl

</template>
	<template context="perl" name="=begin text / =end" enabled="true" description="plain text documentation" >

=begin  text

${cursor}

=end    text  #  back to Perl

</template>
	<template context="perl" name="=head1" enabled="true" description="headline 1" >

		=head1 ${cursor}

</template>
	<template context="perl" name="=head2" enabled="true" description="headline 2" >

		=head2 ${cursor}

</template>
	<template context="perl" name="=head3" enabled="true" description="headline 3" >

		=head3 ${cursor}

</template>
	<template context="perl" name="=over .. =back" enabled="true" description="list" >

		=over ${indent level}

=item *

${cursor}

=item *



=back

</template>
	<template context="perl" name="=item *" enabled="true" description="list item" >

=item *

${cursor}

</template>
  <template context="perl" name="= B&lt;&gt;" enabled="true" description="bold" >B&lt;${cursor}&gt;</template>
  <template context="perl" name="= C&lt;&gt;" enabled="true" description="literal" >C&lt;${cursor}&gt;</template>
  <template context="perl" name="= E&lt;&gt;" enabled="true" description="escape" >E&lt;${cursor}&gt;</template>
  <template context="perl" name="= F&lt;&gt;" enabled="true" description="filename" >F&lt;${cursor}&gt;</template>
  <template context="perl" name="= I&lt;&gt;" enabled="true" description="italic" >I&lt;${cursor}&gt;</template>
  <template context="perl" name="= L&lt;&gt;" enabled="true" description="link" >L&lt;${cursor}|&gt;</template>
  <template context="perl" name="= S&lt;&gt;" enabled="true" description="nobr. spaces" >S&lt;${cursor}&gt;</template>
  <template context="perl" name="= X&lt;&gt;" enabled="true" description="index" >X&lt;${cursor}&gt;</template>
  <template context="perl" name="= Z&lt;&gt;" enabled="true" description="zero-width" >Z&lt;${cursor}&gt;</template>
  <template context="perl" name="do-while" enabled="true" description="do while loop" >do {
	${cursor}
} 
while ( ${condition} ); # -----  end do-while  -----</template>
  <template context="perl" name="for" enabled="true" description="for loop" >for ( ${begin}; ${condition}; ${end} ) {
	${cursor}
} # -----  end for  -----</template>
  <template context="perl" name="foreach" enabled="true" description="foreach loop" >foreach ${var} ( ${list} ) {
	${cursor}
} # -----  end foreach  -----</template>
  <template context="perl" name="unless" enabled="true" description="unless condition" >unless ( ${condition} ) {
	${cursor}
}</template>
  <template context="perl" name="unless-else" enabled="true" description="unless else condition" >unless ( ${condition} ) {
	${cursor}
} else {
}</template>
  <template context="perl" name="until" enabled="true" description="until-loop" >until ( ${condition} ) {
	${cursor}
} # -----  end while  -----</template>
  <template context="perl" name="while" enabled="true" description="while loop" >while ( ${condition} ) {
	${cursor}
} # -----  end while  -----</template>
  <template context="perl" name="my $scalar" enabled="true" description="Scalar declaration" >my $$${scalar}</template>
  <template context="perl" name="my $scalar = value" enabled="true" description="Scalar definition" >my $$${scalar} = ${value};</template>
  <template context="perl" name="my ($scalar1, $scalar2);" enabled="true" description="List of scalars definition" >my ($$${scalar1}, $$${scalar2}, $$${scalar3} );</template>
  <template context="perl" name="my array" enabled="true" description="Array declaration" >my @${array};</template>
  <template context="perl" name="my array = ()" enabled="true" description="Array definition" >my @${array} = (${value1}, ${value2}, ${value3});</template>
  <template context="perl" name="my %" enabled="true" description="hash declaration" >my %${hash};</template>
  <template context="perl" name="my %hash = ( )" enabled="true" description="hash definition" >my %${hash}=(
	${key1} => ${value1},
	${key2}	=> ${value2}
);</template>
  <template context="perl" name="my $hashref = {}" enabled="true" description="hash reference definition" >my ${hash}={
	${key1} => ${value1},
	${key2}	=> ${value2}
};</template>
  <template context="perl" name="regex match" enabled="true" description="Test regular expression" >$${var} =~ m/${regex}/</template>
  <template context="perl" name="regex missmatch" enabled="true" description="Test regular expression" >$${var} !~ m/${regex}/</template>
  <template context="perl" name="regex replace" enabled="true" description="Replace with regular expression" >$$${var} =~ s/${reg_search}/${reg_replace}/</template>
  <template context="perl" name="transliteration" enabled="true" description="Replace with transliteration" >$$${var} =~ tr/${source}/${replace}/</template>
  <template context="perl" name="sub" enabled="true" description="Subroutine" >sub ${name}
{
	my ($$${var1}, $$${var2}, $$${var3}) = @_;
	${cursor}
}	# ----------  end of subroutine ${name}  ----------</template>
  <template context="perl" name="open input file" enabled="true" description="Open input file" >my	$$INFILE_filename = '${filename}'; # input file name

open ( INFILE, '&lt;', $$INFILE_filename )
or die  &quot;$$0 : failed to open  input file $$INFILE_filename : $$!\n&quot;;


close ( INFILE )
	or warn &quot;$$0 : failed to close input file $$INFILE_filename : $$!\n&quot;;</template>
  <template context="perl" name="open output file" enabled="true" description="Open output file" >my	$$OUTFILE_filename = '${filename}'; # output file name

open ( OUTFILE, '>', $$OUTFILE_filename ) or 
	die  &quot;$$0 : failed to open  output file $$OUTFILE_filename : $$!\n&quot;;


close ( OUTFILE )
	or warn &quot;$$0 : failed to close output file $$OUTFILE_filename : $$!\n&quot;;</template>
  <template context="perl" name="open pipe" enabled="true" description="Open pipe" >my	$$PIPE_command = '${pipecommand}'; # pipe command

open ( PIPE, $$PIPE_command )
	or die  &quot;$$0 : failed to open  pipe > $$PIPE_command &lt; : $$!\n&quot;;


close ( PIPE )
	or warn &quot;$$0 : failed to close pipe > $$PIPE_command &lt; : $$!\n&quot;;</template>

	<template context="perl" description="Assign a here document to a variable" enabled="true" name="HERE">my $$${herevar} = &lt;&lt;${HEREMARK};
${cursor}
${HEREMARK}

	</template>
	
	<template context="perl" description="Assign a here document to a variable" enabled="true" name="here">my $$${herevar} = &lt;&lt;${HEREMARK};
${cursor}
${HEREMARK}

	</template>

<template context="perl" name="$^T " enabled="true" description="The time at which the script began running, in seconds since the epoch." >$$^T</template>
  <template context="perl" name="$BASETIME (long version)" enabled="true" description="The time at which the script began running, in seconds since the epoch." >$$BASETIME</template>
  <template context="perl" name="$BASETIME (short version)" enabled="true" description="The time at which the script began running, in seconds since the epoch." >$$^T</template>

	<template context="perl" name="$0" enabled="true" description="Name of the Perl script file name being executed." >$$0</template>
	<template context="perl" name="$PROGRAM_NAME (long version)" enabled="true" description="Name of the Perl script file name being executed." >$$PROGRAM_NAME</template>
	<template context="perl" name="$PROGRAM_NAME (short version)" enabled="true" description="Name of the Perl script file name being executed." >$$0</template>
  
  <template context="perl" name="$^A" enabled="true" description="Current value of the write accumulator for format lines. " >$$^A</template>
	<template context="perl" name="$ACCUMULATOR (long version)" enabled="true" description="Current value of the write accumulator for format lines. " >$$ACCUMULATOR</template>
	<template context="perl" name="$ACCUMULATOR (short version)" enabled="true" description="Current value of the write accumulator for format lines. " >$$^A</template>

  <template context="perl" name="$_" enabled="true" description="Default input and pattern searching variable." >$$_</template>
  <template context="perl" name="$ARG (long version)" enabled="true" description="Default input and pattern searching variable." >$$ARG</template>
  <template context="perl" name="$ARG (short version)" enabled="true" description="Default input and pattern searching variable." >$$_</template>

  <template context="perl" name="@ARGV" enabled="true" description="The array containing the command-line arguments intended for the script. " >@ARGV</template>
  <template context="perl" name="@ARGV" enabled="true" description="The array containing the command-line arguments intended for the script. " >@ARGV</template>

  <template context="perl" name="$^D" enabled="true" description="Current value of the debugging flags." >$$^D</template>
  <template context="perl" name="$DEBUGGING (long version)" enabled="true" description="Current value of the debugging flags." >$$DEBUGGING</template>
  <template context="perl" name="$DEBUGGING (short version)" enabled="true" description="Current value of the debugging flags." >$$^D</template>

  <template context="perl" name="$)" enabled="true" description="Effective gid of this process." >$$)</template>
  <template context="perl" name="$EFFECTIVE_GROUP_ID (long version)" enabled="true" description="Effective gid of this process">$$EFFECTIVE_GROUP_ID</template>
  <template context="perl" name="$EFFECTIVE_GROUP_ID (short version)" enabled="true" description="Effective gid of this process" >$$)</template>
  <template context="perl" name="$EGID (long version)" enabled="true" description="Effective gid of this process" >$EGID)</template>
  <template context="perl" name="$EGID (short version)" enabled="true" description="Effective gid of this process" >$$)</template>

  <template context="perl" name="$>" enabled="true" description="Effective uid of this process." >$$></template>
  <template context="perl" name="$EFFECTIVE_USER_ID (long version)" enabled="true" description="Effective uid of this process." >$$EFFECTIVE_USER_ID</template>
  <template context="perl" name="$EFFECTIVE_USER_ID (short version)" enabled="true" description="Effective uid of this process." >$$></template>
  <template context="perl" name="$EUID (long version)" enabled="true" description="Effective uid of this process." >$$EUID</template>
  <template context="perl" name="$EUID (short version)" enabled="true" description="Effective uid of this process." >$$></template>

	<template context="perl" name="$.'" enabled="true" description="line number of the last file handle that was read.'" >$$.</template>
	<template context="perl" name="$INPUT_LINE_NUMBER (long version)" enabled="true" description="line number of the last file handle that was read.'" >'$$.'</template>
	<template context="perl" name="$INPUT_LINE_NUMBER (short version)" enabled="true" description="line number of the last file handle that was read.'" >'Current</template>
  <template context="perl" name="$NR (long version)" enabled="true" description="Current line number of the last file handle that was read." >$$NR</template>
  <template context="perl" name="$. (short version)" enabled="true" description="Current line number of the last file handle that was read." >$$.</template>
  
	<template context="perl" name="$," enabled="true" description="Output field separator for the print operator" >$$,</template>
	<template context="perl" name="$OUTPUT_FIELD_SEPARATOR (long version)" enabled="true" description="Output field separator for the print operator" >$$OUTPUT_FIELD_SEPARATOR</template>
	<template context="perl" name="$OUTPUT_FIELD_SEPARATOR (short version)" enabled="true" description="Output field separator for the print operator" >$$,</template>
	<template context="perl" name="$OFS (long version)" enabled="true" description="Output field separator for the print operator" >$$OFS</template>
	<template context="perl" name="$OFS (short version)" enabled="true" description="Output field separator for the print operator" >$$,</template>

	<template context="perl" name="$/" enabled="true" description="Input separator. Default=newline." >$$/</template>
	<template context="perl" name="$INPUT_RECORD_SEPARATOR (long version)" enabled="true" description="Input separator. Default=newline." >$$INPUT_RECORD_SEPARATOR</template>
	<template context="perl" name="$INPUT_RECORD_SEPARATOR (short version)" enabled="true" description="Input separator. Default=newline." >$$/</template>
	<template context="perl" name="$RS (long version)" enabled="true" description="Input separator. Default=newline." >$$RS</template>
	<template context="perl" name="$RS (short version)" enabled="true" description="Input separator. Default=newline." >$$/</template>
	
	<template context="perl" name="$ " enabled="true" description="Output record separator. Default=newline" >$$ </template>
	<template context="perl" name="$OUTPUT_RECORD_SEPARATOR (long version)" enabled="true" description="Output record separator. Default=newline" >$$OUTPUT_RECORD_SEPARATOR</template>
	<template context="perl" name="$OUTPUT_RECORD_SEPARATOR (short version)" enabled="true" description="Output record separator. Default=newline" >$$\</template>
	<template context="perl" name="$ORS (long version)" enabled="true" description="Output record separator. Default=newline" >$$ORS</template>
	<template context="perl" name="$ORS (short version)" enabled="true" description="Output record separator. Default=newline" >$$ </template>

  <template context="perl" name="$LIST_SEPARATOR" enabled="true" description="Applies to list values interpolated into a double quoted string" >$$LIST_SEPARATOR;</template>

	<template context="perl" name="$;" enabled="true" description="Subscript separator for multidimensional array emulation. Default=034." >$$;</template>
	<template context="perl" name="$SUBSCRIPT_SEPARATOR (long version)" enabled="true" description="Subscript separator for multidimensional array emulation. Default=034." >$$SUBSCRIPT_SEPARATOR</template>
	<template context="perl" name="$SUBSCRIPT_SEPARATOR (short version)" enabled="true" description="Subscript separator for multidimensional array emulation. Default=034." >$$;</template>
	<template context="perl" name="$SUBSEP (long version)" enabled="true" description="Subscript separator for multidimensional array emulation. Default=034." >$$SUBSEP</template>
	<template context="perl" name="$SUBSEP (short version)" enabled="true" description="Subscript separator for multidimensional array emulation. Default=034." >$$;</template>
	
	<template context="perl" name="$^L" enabled="true" description="Format output character for formfeed. Default=f." >$$^L</template>
	<template context="perl" name="$FORMAT_FORMFEED (long version)" enabled="true" description="Format output character for formfeed. Default=f." >$$FORMAT_FORMFEED</template>
	<template context="perl" name="$FORMAT_FORMFEED (short version)" enabled="true" description="Format output character for formfeed. Default=f." >$$^L</template>

	<template context="perl" name="$:" enabled="true" description="Set of characters meaning a line break (next line starting with ^)in a format. Default=n." >$$:</template>
	<template context="perl" name="$FORMAT_LINE_BREAK_CHARACTERS (long version)" enabled="true" description="Set of characters meaning a line break (next line starting with ^)in a format. Default=n." >$$FORMAT_LINE_BREAK_CHARACTERS</template>
	<template context="perl" name="$FORMAT_LINE_BREAK_CHARACTERS (short version)" enabled="true" description="Set of characters meaning a line break (next line starting with ^)in a format. Default=n." >$$:</template>
	
	<template context="perl" name="$#" enabled="true" description="Output format for printed numbers (deprecated)." >$$#</template>
	<template context="perl" name="$OFMT (long version)" enabled="true" description="Output format for printed numbers (deprecated)." >$$OFMT</template>
	<template context="perl" name="$OFMT (short version)" enabled="true" description="Output format for printed numbers (deprecated)." >$$#</template>
	
	<template context="perl" name="$?" enabled="true" description="Return value from last pipe close, backtick (``) command, system operator." >$$?</template>
	<template context="perl" name="$CHILD_ERROR (long version)" enabled="true" description="Return value from last pipe close, backtick (``) command, system operator." >$$CHILD_ERROR</template>
	<template context="perl" name="$CHILD_ERROR (short version)" enabled="true" description="Return value from last pipe close, backtick (``) command, system operator." >$$?</template>
	
	<template context="perl" name="$!" enabled="true" description="Last System Error; Numeric context: errno no; string context: system error string." >$$!</template>
	<template context="perl" name="$ERRNO (long version)" enabled="true" description="Last System Error: Numeric context: errno no; string context: system error string." >$$ERRNO</template>
	<template context="perl" name="$ERRNO (short version)" enabled="true" description="Last System Error: Numeric context: errno no; string context: system error string." >$$!</template>
	<template context="perl" name="$OS_ERROR (long version)" enabled="true" description="Last System Error; Numeric context: errno no; string context: system error string." >$$OS_ERROR</template>
	<template context="perl" name="$OS_ERROR (short version)" enabled="true" description="Last System Error; Numeric context: errno no; string context: system error string." >$$!</template>
	
	<template context="perl" name="$@" enabled="true" description="Syntax error message from the last eval command" >$$@</template>
	<template context="perl" name="$EVAL_ERROR (long version)" enabled="true" description="Syntax error message from the last eval command" >$$EVAL_ERROR</template>
	<template context="perl" name="$EVAL_ERROR (short version)" enabled="true" description="Syntax error message from the last eval command" >$$@</template>
	
	<template context="perl" name="$" enabled="true" description="The pid of the running perl this script." >$$$$</template>
	<template context="perl" name="$PROCESS_ID (long version)" enabled="true" description="The pid of the running perl this script." >$$PROCESS_ID</template>
	<template context="perl" name="$PROCESS_ID (short version)" enabled="true" description="The pid of the running perl this script." >$$$$</template>
	<template context="perl" name="$PID (long version)" enabled="true" description="The pid of the running perl this script." >$$PID</template>
	<template context="perl" name="$PID (short version)" enabled="true" description="The pid of the running perl this script." >$$$$</template>

	<template context="perl" name="$&lt;" enabled="true" description="Real user ID (uid) of running perl script." >$$&lt;</template>
	<template context="perl" name="$REAL_USER_ID (long version)" enabled="true" description="Real user ID (uid) of running perl script." >$$REAL_USER_ID</template>
	<template context="perl" name="$REAL_USER_ID (short version)" enabled="true" description="Real user ID (uid) of running perl script." >$$&lt;</template>
	<template context="perl" name="$UID (long version)" enabled="true" description="Real user ID (uid) of running perl script." >$$UID</template>
	<template context="perl" name="$UID (short version)" enabled="true" description="Real user ID (uid) of running perl script." >$$&lt;</template>
	
	<template context="perl" name="$(" enabled="true" description="Real group ID (gid) of running perl script." >$$(</template>
	<template context="perl" name="$REAL_GROUP_ID (long version)" enabled="true" description="Real group ID (gid) of running perl script." >$$REAL_GROUP_ID</template>
	<template context="perl" name="$REAL_GROUP_ID (short version)" enabled="true" description="Real group ID (gid) of running perl script." >$$(</template>
	<template context="perl" name="$GID (long version)" enabled="true" description="Real group ID (gid) of running perl script." >$$GID</template>
	<template context="perl" name="$GID (short version)" enabled="true" description="Real group ID (gid) of running perl script." >$$(</template>
	
	<template context="perl" name="$[" enabled="true" description="Index of the first element in an array / the first character in a substring. Default=0" >$$[</template>

	<template context="perl" name="$]" enabled="true" description="Perl version plus patchlevel divided by 1000." >$$]</template>
	<template context="perl" name="$^V" enabled="true" description="The revision, version, and subversion of the Perl interpreter" >$^V</template>
	<template context="perl" name="$PERL_VERSION (long version)" enabled="true" description="The revision, version, and subversion of the Perl interpreter" >$$PERL_VERSION</template>
	<template context="perl" name="$PERL_VERSION (short version)" enabled="true" description="The revision, version, and subversion of the Perl interpreter" >$^V</template>

	<template context="perl" name="$^E" enabled="true" description="Extended error message (platform depending)." >$$^E</template>
	<template context="perl" name="$EXTENDED_OS_ERROR (long version)" enabled="true" description="Extended error message (platform depending)." >$$EXTENDED_OS_ERROR</template>
	<template context="perl" name="$EXTENDED_OS_ERROR (short version)" enabled="true" description="Extended error message (platform depending)." >$$^E</template>

	<template context="perl" name="$^F" enabled="true" description="Maximum system file descriptor." >$$^F</template>
	<template context="perl" name="$SYSTEM_FD_MAX (long version)" enabled="true" description="Maximum system file descriptor." >$$SYSTEM_FD_MAX</template>
	<template context="perl" name="$SYSTEM_FD_MAX (short version)" enabled="true" description="Maximum system file descriptor." >$$^F</template>

  <template context="perl" name="$^H" enabled="true" description="Internal compiler hints enabled by some modules. " >$$^H</template>

	<template context="perl" name="$^I" enabled="true" description="Value of the inplace-edit extension. Use undef to disable inplace editing." >$$^I</template>
	<template context="perl" name="$INPLACE_EDIT (long version)" enabled="true" description="Value of the inplace-edit extension. Use undef to disable inplace editing." >$$INPLACE_EDIT</template>
	<template context="perl" name="$INPLACE_EDIT (short version)" enabled="true" description="Value of the inplace-edit extension. Use undef to disable inplace editing." >$$^I</template>

	<template context="perl" name="$^M" enabled="true" description="Contents can be used as an emergency memory pool in case of out-of-memory error. Requires a special compilation of Perl." >$$^M</template>

	<template context="perl" name="$^O" enabled="true" description="Name of the operating ystem Perl binary was compiled for." >$$^O</template>
	<template context="perl" name="$OSNAME (long version)" enabled="true" description="Name of the operating ystem Perl binary was compiled for." >$$OSNAME</template>
	<template context="perl" name="$OSNAME (short version)" enabled="true" description="Name of the operating ystem Perl binary was compiled for." >$$^O</template>

	<template context="perl" name="$^P" enabled="true" description="Internal flag, cleared by debugger to not debug itself." >$$^P</template>
	<template context="perl" name="$PERLDB (long version)" enabled="true" description="Internal flag, cleared by debugger to not debug itself." >$$PERLDB</template>
	<template context="perl" name="$PERLDB (short version)" enabled="true" description="Internal flag, cleared by debugger to not debug itself." >$$^P</template>

	<template context="perl" name="$^R" enabled="true" description="The result of evaluation of the last successful (?{ code }) regular expression assertion." >$$^R</template>
	<template context="perl" name="$LAST_REGEXP_CODE_RESULT (long version)" enabled="true" description="The result of evaluation of the last successful (?{ code }) regular expression assertion." >$$LAST_REGEXP_CODE_RESULT</template>
	<template context="perl" name="$LAST_REGEXP_CODE_RESULT (short version)" enabled="true" description="The result of evaluation of the last successful (?{ code }) regular expression assertion." >$$^R</template>

	<template context="perl" name="$^S" enabled="true" description="Current state of the interpreter." >$$^S</template>
	<template context="perl" name="$EXCEPTIONS_BEING_CAUGHT (long version)" enabled="true" description="Current state of the interpreter." >$$EXCEPTIONS_BEING_CAUGHT</template>
	<template context="perl" name="$EXCEPTIONS_BEING_CAUGHT (short version)" enabled="true" description="Current state of the interpreter." >$$^S</template>

	<template context="perl" name="$^W" enabled="true" description="The current value of the warning switch, either true or false." >$$^W</template>
	<template context="perl" name="$WARNING (long version)" enabled="true" description="The current value of the warning switch, either true or false." >$$WARNING</template>
	<template context="perl" name="$WARNING (short version)" enabled="true" description="The current value of the warning switch, either true or false." >$$^W</template>

	<template context="perl" name="$^X" enabled="true" description="Perls name that itself was executed as." >$$^X</template>
	<template context="perl" name="$EXECUTABLE_NAME (long version)" enabled="true" description="Perls name that itself was executed as." >$$EXECUTABLE_NAME</template>
	<template context="perl" name="$EXECUTABLE_NAME (short version)" enabled="true" description="Perls name that itself was executed as." >$$^X</template>

	<template context="perl" name="$ARGV" enabled="true" description="Name of the current file when reading from &lt;ARGV&gt;." >$$ARGV</template>

  <template context="perl" name="@INC" enabled="true" description="List of library directories, used by do, require, or use constructs. " >@INC</template>

  <template context="perl" name="%INC" enabled="true" description="Hash containing filename of each file that has been included by do or require." >%INC</template>
	
  <template context="perl" name="@F" enabled="true" description="Array into which the input lines are split when the -a command-line switch is given. " >@F</template>

  <template context="perl" name="%ENV" enabled="true" description="Hash containing current environment variables." >%ENV</template>

  <template context="perl" name="%SIG" enabled="true" description="Hash used to set signal handlers for various signals." >%SIG</template>
  <template context="perl" name="handler DEFAULT" enabled="true" description="Value of the default handler for a signal" >DEFAULT</template>
  <template context="perl" name="DEFAULT" enabled="true" description="Value of the default handler for a signal" >DEFAULT</template>
  <template context="perl" name="handler IGNORE" enabled="true" description="Signal handler value to ignore the signal" >IGNORE</template>
  <template context="perl" name="IGNORE" enabled="true" description="Signal handler value to ignore the signal" >IGNORE</template>
  <template context="perl" name="signal (POSIX) ABRT" enabled="true" description="POSIX signal End process (abort). Example: $SIG{ABRT}='my_sigabrt_handler';" >ABRT</template>
  <template context="perl" name="signal (POSIX) ALRM" enabled="true" description="POSIX signal Alarm clock. Example: $SIG(ALRM)='my_sigalrm_handler'" >ALRM</template>
  <template context="perl" name="signal (POSIX) CHLD" enabled="true" description="POSIX signal Example: $SIG(CHLD). Example: $SIG(CHLD)='my_sigchld_handler'" >CHLD</template>
  <template context="perl" name="signal (POSIX) CONT" enabled="true" description="POSIX signal Example: $SIG(CONT)='my_sigcont_handler'" >CONT</template>
  <template context="perl" name="signal (POSIX) FPE"  enabled="true" description="POSIX signal Floating-point exception. Example: $SIG(FPE)='my_sigfpe_handler'" >FPE</template>
  <template context="perl" name="signal (POSIX) HUP"  enabled="true" description="POSIX signal Hangup. Example: $SIG(HUP)='my_sighup_handler'" >HUP</template>
  <template context="perl" name="signal (POSIX) ILL"  enabled="true" description="POSIX signal Illegal instruction. Example: $SIG(ILL)='my_sigill_handler'" >ILL</template>
  <template context="perl" name="signal (POSIX) INT"  enabled="true" description="POSIX signal Interrupt. Example: $SIG(INT)='my_sigint_handler'" >INT</template>
  <template context="perl" name="signal (POSIX) KILL" enabled="true" description="POSIX signal Kill (cannot be caught or ignored)." >KILL</template>
  <template context="perl" name="signal (POSIX) PIPE" enabled="true" description="POSIX signal Write on a pipe when there is no process to read it. Example: $SIG(PIPE)='my_sigpipe_handler'" >PIPE</template>
  <template context="perl" name="signal (POSIX) QUIT" enabled="true" description="POSIX signal Quit. Example: $SIG(QUIT)='my_sigquit_handler'" >QUIT</template>
  <template context="perl" name="signal (POSIX) SEGV" enabled="true" description="POSIX signal Segmentation violation. Example: $SIG(SEGV)='my_sigsegv_handler'" >SEGV</template>
  <template context="perl" name="signal (POSIX) STOP" enabled="true" description="POSIX signal Stop (cannot be caught or ignored)." >STOP</template>
  <template context="perl" name="signal (POSIX) TERM" enabled="true" description="POSIX signal Software termination signal. Example: $SIG(TERM)='my_sigterm_handler'" >TERM</template>
  <template context="perl" name="signal (POSIX) TSTP" enabled="true" description="POSIX signal Interactive stop. Example: $SIG(TSTP)='my_sigtstp_handler'" >TSTP</template>
  <template context="perl" name="signal (POSIX) TTIN" enabled="true" description="POSIX signal Background read attempted from control terminal. Example: $SIG(TTIN)='my_sigttin_handler'" >TTIN</template>
  <template context="perl" name="signal (POSIX) TTOU" enabled="true" description="POSIX signal Background write attempted from control terminal. Example: $SIG(TTOU)='my_sigttou_handler'" >TTOU</template>
  <template context="perl" name="signal (POSIX) USR1" enabled="true" description="POSIX signal User-defined signal 1. Example: $SIG(USR1)='my_sigusr1_handler'" >USR1</template>
  <template context="perl" name="signal (POSIX) USR2" enabled="true" description="POSIX signal User-defined signal 2. Example: $SIG(USR2)='my_sigusr2_handler'" >USR2</template>

	<template context="perl" name="&lt;ARGV&gt;" enabled="true" description="Filehandle that iterates over command line filenames in @ARGV. Usually written as the null filehandle in &lt;&gt;." >&lt;ARGV&gt;</template>
  <template context="perl" name="&lt;STDERR&gt;" enabled="true" description="Standard error output stream" >&lt;STDERR&gt;</template>
  <template context="perl" name="&lt;STDIN&gt;" enabled="true" description="Standard input stream" >&lt;STDIN&gt;</template>
  <template context="perl" name="&lt;STDOUT&gt;" enabled="true" description="Standard output stream" >&lt;STDOUT&gt;</template>
  <template context="perl" name="&lt;DATA&gt;" enabled="true" description="The special filehandle that refers to anything following the __END__ token in the file containing the script." >&lt;DATA&gt;</template>

	<template context="perl" name="$digit" enabled="true" description="Contains the text matched by the corresponding set of parentheses in the last pattern matched." >$$digit</template>

	<template context="perl" name="$&amp;" enabled="true" description="The string matched by the last successful pattern match." >$$&amp;</template>
	<template context="perl" name="$MATCH (long version)" enabled="true" description="The string matched by the last successful pattern match." >$$MATCH</template>
	<template context="perl" name="$MATCH (short version)" enabled="true" description="The string matched by the last successful pattern match." >$$&amp;</template>

	<template context="perl" name="$`" enabled="true" description="The string preceding whatever was matched by the last successful pattern match." >$$`</template>
	<template context="perl" name="$PREMATCH (long version)" enabled="true" description="The string preceding whatever was matched by the last successful pattern match." >$$PREMATCH</template>
	<template context="perl" name="$PREMATCH (short version)" enabled="true" description="The string preceding whatever was matched by the last successful pattern match." >$$`</template>

	<template context="perl" name="$'" enabled="true" description="The string following whatever was matched by the last successful pattern match." >$$'</template>
	<template context="perl" name="$POSTMATCH (long version)" enabled="true" description="The string following whatever was matched by the last successful pattern match." >$$POSTMATCH</template>
	<template context="perl" name="$POSTMATCH (short version)" enabled="true" description="The string following whatever was matched by the last successful pattern match." >$$'</template>

	<template context="perl" name="$+" enabled="true" description="The last bracket matched by the last search pattern." >$$+</template>
	<template context="perl" name="$LAST_PAREN_MATCH (long version)" enabled="true" description="The last bracket matched by the last search pattern." >$$LAST_PAREN_MATCH</template>
	<template context="perl" name="$LAST_PAREN_MATCH (short version)" enabled="true" description="The last bracket matched by the last search pattern." >$$+</template>

	<template context="perl" name="$|" enabled="true" description="If set to nonzero, forces an fflush(3) after every write or print on the currently selected output channel." >$$|</template>
	<template context="perl" name="$OUTPUT_AUTOFLUSH (long version)" enabled="true" description="If set to nonzero, forces an fflush(3) after every write or print on the currently selected output channel." >$$OUTPUT_AUTOFLUSH</template>
	<template context="perl" name="$OUTPUT_AUTOFLUSH (short version)" enabled="true" description="If set to nonzero, forces an fflush(3) after every write or print on the currently selected output channel." >$$|</template>

	<template context="perl" name="$%" enabled="true" description="The current page number of the currently selected output channel." >$$%</template>
	<template context="perl" name="$FORMAT_PAGE_NUMBER (long version)" enabled="true" description="The current page number of the currently selected output channel." >$$FORMAT_PAGE_NUMBER</template>
	<template context="perl" name="$FORMAT_PAGE_NUMBER (short version)" enabled="true" description="The current page number of the currently selected output channel." >$$%</template>

	<template context="perl" name="$=" enabled="true" description="The current page length (printable lines) of the currently selected output channel. Default is 60." >$$=</template>
	<template context="perl" name="$FORMAT_LINES_PER_PAGE (long version)" enabled="true" description="The current page length (printable lines) of the currently selected output channel. Default is 60." >$$FORMAT_LINES_PER_PAGE</template>
	<template context="perl" name="$FORMAT_LINES_PER_PAGE (short version)" enabled="true" description="The current page length (printable lines) of the currently selected output channel. Default is 60." >$$=</template>

	<template context="perl" name="$-" enabled="true" description="The number of lines left on the page of the currently selected output channel." >$$-</template>
	<template context="perl" name="$FORMAT_LINES_LEFT (long version)" enabled="true" description="The number of lines left on the page of the currently selected output channel." >$$FORMAT_LINES_LEFT</template>
	<template context="perl" name="$FORMAT_LINES_LEFT (short version)" enabled="true" description="The number of lines left on the page of the currently selected output channel." >$$-</template>

	<template context="perl" name="$~" enabled="true" description="The name of the current report format for the currently selected output channel. Default is the name of the filehandle." >$$~</template>
	<template context="perl" name="$FORMAT_NAME (long version)" enabled="true" description="The name of the current report format for the currently selected output channel. Default is the name of the filehandle." >$$FORMAT_NAME</template>
	<template context="perl" name="$FORMAT_NAME (short version)" enabled="true" description="The name of the current report format for the currently selected output channel. Default is the name of the filehandle." >$$~</template>

	<template context="perl" name="$^" enabled="true" description="The name of the current top-of-page format for the currently selected output channel. Default is the name of the filehandle with _TOP appended." >$$^</template>
	<template context="perl" name="$FORMAT_TOP_NAME (long version)" enabled="true" description="The name of the current top-of-page format for the currently selected output channel. Default is the name of the filehandle with _TOP appended." >$$FORMAT_TOP_NAME</template>
	<template context="perl" name="$FORMAT_TOP_NAME (short version)" enabled="true" description="The name of the current top-of-page format for the currently selected output channel. Default is the name of the filehandle with _TOP appended." >$$^</template>

	<template context="perl" name="@+" enabled="true" description="Array holds the offsets of the ends of the last successful submatches." >$@+</template>
	<template context="perl" name="@LAST_MATCH_END (long version)" enabled="true" description="Array holds the offsets of the ends of the last successful submatches." >$@LAST_MATCH_END</template>
	<template context="perl" name="@LAST_MATCH_END (short version)" enabled="true" description="Array holds the offsets of the ends of the last successful submatches." >$@+</template>

	<template context="perl" name="@-" enabled="true" description="Offsets of the start of the substring matched by each subpatterns." >$@-</template>
	<template context="perl" name="@LAST_MATCH_START (long version)" enabled="true" description="Offsets of the start of the substring matched by each subpatterns." >$@LAST_MATCH_START</template>
	<template context="perl" name="@LAST_MATCH_START (short version)" enabled="true" description="Offsets of the start of the substring matched by each subpatterns." >$@-</template>

  <template context="perl" name="print" enabled="true" description="Standard print command" >print &quot;${cursor}\n&quot;;</template>
  <template context="perl" name="printf" enabled="true" description="printf command" >printf (&quot;${cursor}\n&quot;);</template>
  <template context="perl" name="Spec-Var files $AUTOFLUSH" enabled="true" description="" >$$\|</template>
  <template context="perl" name="Spec-Var use English" enabled="true" description="" >use English qw( -no_match_vars );</template>
	
  <template context="perl" name="character class [:alnum:]" enabled="true" description="Any alphanumeric, that is, an alpha or a digit." >[:alnum:]</template>
  <template context="perl" name="character class [:alpha:]" enabled="true" description="Any letter. (That's a lot more letters than you think, unless you're thinking Unicode, in which case it's still a lot.)" >[:alpha:]</template>
  <template context="perl" name="character class [:ascii:]" enabled="true" description="Any character with an ordinal value between 0 and 127." >[:ascii:]</template>
  <template context="perl" name="character class [:cntrl:]" enabled="true" description="Any control character. " >[:cntrl:]</template>
  <template context="perl" name="character class [:digit:]" enabled="true" description="A character representing a decimal digit, such as 0 to 9. " >[:digit:]</template>
  <template context="perl" name="character class [:graph:]" enabled="true" description="Any alphanumeric or punctuation character.Any alphanumeric or punctuation character." >[:graph:]</template>
  <template context="perl" name="character class [:lower:]" enabled="true" description="A lowercase letter." >[:lower:]</template>
  <template context="perl" name="character class [:print:]" enabled="true" description="Any alphanumeric or punctuation character or space." >[:print:]</template>
  <template context="perl" name="character class [:punct:]" enabled="true" description="Any punctuation character." >[:punct:]</template>
  <template context="perl" name="character class [:space:]" enabled="true" description="Any space character. Includes tab, newline, form feed, and carriage return.Any uppercase " >[:space:]</template>
  <template context="perl" name="character class [:upper:]" enabled="true" description="Any uppercase letter" >[:upper:]</template>
  <template context="perl" name="character class [:word:]" enabled="true" description="Any identifier character, either an alnum or underline." >[:word:]</template>
  <template context="perl" name="character class [:xdigit:]" enabled="true" description="Any hexadecimal digit. Though this may seem silly ([0-9a-fA-F] works just fine)" >[:xdigit:]</template>
  
	<template context="perl" name="class [:alnum:]" enabled="true" description="Any alphanumeric, that is, an alpha or a digit." >[:alnum:]</template>
  <template context="perl" name="class [:alpha:]" enabled="true" description="Any letter. (That's a lot more letters than you think, unless you're thinking Unicode, in which case it's still a lot.)" >[:alpha:]</template>
  <template context="perl" name="class [:ascii:]" enabled="true" description="Any character with an ordinal value between 0 and 127." >[:ascii:]</template>
  <template context="perl" name="class [:cntrl:]" enabled="true" description="Any control character. " >[:cntrl:]</template>
  <template context="perl" name="class [:digit:]" enabled="true" description="A character representing a decimal digit, such as 0 to 9. " >[:digit:]</template>
  <template context="perl" name="class [:graph:]" enabled="true" description="Any alphanumeric or punctuation character.Any alphanumeric or punctuation character." >[:graph:]</template>
  <template context="perl" name="class [:lower:]" enabled="true" description="A lowercase letter." >[:lower:]</template>
  <template context="perl" name="class [:print:]" enabled="true" description="Any alphanumeric or punctuation character or space." >[:print:]</template>
  <template context="perl" name="class [:punct:]" enabled="true" description="Any punctuation character." >[:punct:]</template>
  <template context="perl" name="class [:space:]" enabled="true" description="Any space character. Includes tab, newline, form feed, and carriage return.Any uppercase " >[:space:]</template>
  <template context="perl" name="class [:upper:]" enabled="true" description="Any uppercase letter" >[:upper:]</template>
  <template context="perl" name="class [:word:]" enabled="true" description="Any identifier character, either an alnum or underline." >[:word:]</template>
  <template context="perl" name="class [:xdigit:]" enabled="true" description="Any hexadecimal digit. Though this may seem silly ([0-9a-fA-F] works just fine)" >[:xdigit:]</template>
	
  <template context="perl" name="test: file age since inode change" enabled="true" description="Test: file age since inode change" >-C</template>
  <template context="perl" name="test: file age since last access" enabled="true" description="Test: file age since last access" >-A</template>
  <template context="perl" name="test: file age since modification" enabled="true" description="Test: file age since modification" >-M</template>
  <template context="perl" name="test: file is binary file" enabled="true" description="Test: file is binary file" >-B</template>
  <template context="perl" name="test: file is block special file" enabled="true" description="Test: file is block special file" >-b</template>
  <template context="perl" name="test: file is character special file" enabled="true" description="Test: file is character special file" >-c</template>
  <template context="perl" name="test: file is directory" enabled="true" description="Test: file is directory" >-d</template>
  <template context="perl" name="test: file is plain file" enabled="true" description="Test: file is plain file" >-f</template>
  <template context="perl" name="test: file is named pipe" enabled="true" description="Test: file is named pipe" >-p</template>
  <template context="perl" name="test: file is text file" enabled="true" description="Test: file is text file" >-T</template>
  <template context="perl" name="test: file is socket" enabled="true" description="Test: file is socket" >-S</template>
  <template context="perl" name="test: file is symbolic link" enabled="true" description="Test: file is symbolic link" >-l</template>
  <template context="perl" name="test: file is readable by eff. UID/GID" enabled="true" description="Test: file is readable by eff. UID/GID" >-r</template>
  <template context="perl" name="test: file is readable by real UID/GID" enabled="true" description="Test: file is readable by real UID/GID" >-R</template>
  <template context="perl" name="test: file is writable by eff. UID/GID" enabled="true" description="Test: file is writable by eff. UID/GID" >-w</template>
  <template context="perl" name="test: file is writable by real UID/GID" enabled="true" description="Test: file is writable by real UID/GID" >-W</template>
  <template context="perl" name="test: file is executable by eff. UID/GID" enabled="true" description="Test: file is executable by eff. UID/GID" >-x</template>
  <template context="perl" name="test: file is executable by real UID/GID" enabled="true" description="Test: file is executable by real UID/GID" >-X</template>
  <template context="perl" name="test: file exists" enabled="true" description="Test: file exists" >-e</template>
  <template context="perl" name="test: file handle opened to a tty" enabled="true" description="Test: file handle opened to a tty" >-t</template>
  <template context="perl" name="test: file is owned by eff. UID" enabled="true" description="Test: file is owned by eff. UID" >-o</template>
  <template context="perl" name="test: file is owned by real UID" enabled="true" description="Test: file is owned by real UID" >-O</template>
  <template context="perl" name="test: file has setgid bit set" enabled="true" description="Test: file has setgid bit set" >-g</template>
  <template context="perl" name="test: file has setuid bit set" enabled="true" description="Test: file has setuid bit set" >-u</template>
  <template context="perl" name="test: file has sticky bit set" enabled="true" description="Test: file has sticky bit set" >-k</template>
  <template context="perl" name="test: file has nonzero size" enabled="true" description="Test: file has nonzero size" >-s</template>
  <template context="perl" name="test: file has zero size" enabled="true" description="Test: file has zero size" >-z</template>

	<template context="perl" name="regex \" enabled="true" description="Quote the next metacharacter" >\</template>
	<template context="perl" name="regex ^" enabled="true" description="Match the beginning of the line" >^</template>
	<template context="perl" name="regex ." enabled="true" description="Match any character (except newline)" >.</template>
	<template context="perl" name="regex $" enabled="true" description="Match the end of the line (or before newline at the end)" >$$</template>
	<template context="perl" name="regex |" enabled="true" description="Alternation" >|</template>
	<template context="perl" name="regex ()" enabled="true" description="Grouping" >()</template>
	<template context="perl" name="regex []" enabled="true" description="Character class" >[]</template>

	<template context="perl" name="regex *" enabled="true" description="Match 0 or more times" >*</template>
	<template context="perl" name="regex +" enabled="true" description="Match 1 or more times" >+</template>
	<template context="perl" name="regex ?" enabled="true" description="Match 1 or 0 times" >?</template>
	<template context="perl" name="regex {n}" enabled="true" description="Match exactly n times" >{n}</template>
	<template context="perl" name="regex {n,}" enabled="true" description="Match at least n times" >{n,}</template>
	<template context="perl" name="regex {n,m}" enabled="true" description="Match at least n but not more than m times" >{n,m}</template>

	<template context="perl" name="regex *?" enabled="true" description="Match 0 or more times" >*?</template>
	<template context="perl" name="regex +?" enabled="true" description="Match 1 or more times" >+?</template>
	<template context="perl" name="regex ??" enabled="true" description="Match 0 or 1 time" >??</template>
	<template context="perl" name="regex {n}?" enabled="true" description="Match exactly n times" >{n}?</template>
	<template context="perl" name="regex {n,}?" enabled="true" description="Match at least n times" >{n,}?</template>
	<template context="perl" name="regex {n,m}?" enabled="true" description="Match at least n but not more than m times" >{n,m}?</template>

	<template context="perl" name="regex \t" enabled="true" description="tab (HT, TAB)" >\t</template>
	<template context="perl" name="regex \n" enabled="true" description="newline (LF, NL)" >\n</template>
	<template context="perl" name="regex \r" enabled="true" description="return (CR)" >\r</template>
	<template context="perl" name="regex \f" enabled="true" description="form feed (FF)" >\f</template>
	<template context="perl" name="regex \a" enabled="true" description="alarm (bell) (BEL)" >\a</template>
	<template context="perl" name="regex \e" enabled="true" description="escape (think troff) (ESC)" >\e</template>
	<template context="perl" name="regex \033" enabled="true" description="octal char (think of a PDP-11)" >\033</template>
	<template context="perl" name="regex \x1B" enabled="true" description="hex char" >\x1B</template>
	<template context="perl" name="regex \x{263a}" enabled="true" description="wide hex char (Unicode SMILEY)" >\x{263a}</template>
	<template context="perl" name="regex \c[" enabled="true" description="control char" >\c[</template>
	<template context="perl" name="regex \N{name}" enabled="true" description="named char" >\N{${name}}</template>
	<template context="perl" name="regex \l" enabled="true" description="lowercase next char (think vi)" >\l</template>
	<template context="perl" name="regex \u" enabled="true" description="uppercase next char (think vi)" >\u</template>
	<template context="perl" name="regex \L" enabled="true" description="lowercase till E (think vi)" >\L</template>
	<template context="perl" name="regex \U" enabled="true" description="uppercase till E (think vi)" >\U</template>
	<template context="perl" name="regex \E" enabled="true" description="end case modification (think vi)" >\E</template>
	<template context="perl" name="regex \Q" enabled="true" description="quote (disable) pattern metacharacters till E" >\Q</template>


	<template context="perl" name="regex \w" enabled="true" description="Match a &quot;word&quot; character (alphanumeric plus &quot;_&quot;)" >\w</template>
	<template context="perl" name="regex \W" enabled="true" description="Match a non-word character" >\W</template>
	<template context="perl" name="regex \s" enabled="true" description="Match a whitespace character" >\s</template>
	<template context="perl" name="regex \S" enabled="true" description="Match a non-whitespace character" >\S</template>
	<template context="perl" name="regex \d" enabled="true" description="Match a digit character" >\d</template>
	<template context="perl" name="regex \D" enabled="true" description="Match a non-digit character" >D</template>
	<template context="perl" name="regex \pP" enabled="true" description="Match P, named property.  Use p{Prop} for longer names." >\pP</template>
	<template context="perl" name="regex \PP" enabled="true" description="Match non-P" >\PP</template>
	<template context="perl" name="regex \X" enabled="true" description="Match eXtended Unicode &quot;combining character sequence&quot;, equivalent to C&lt;(?:PMpM*)&gt;" >\X</template>
	<template context="perl" name="regex \C" enabled="true" description="Match a single C char (octet) even under utf8." >\C</template>

	<template context="perl" name="regex [:alnum:]" enabled="true" description="Any alphanumeric, that is, an alpha or a digit." >[:alnum:]</template>
	<template context="perl" name="regex [:alpha:]" enabled="true" description="Any letter. (That's a lot more letters than you think, unless you're thinking Unicode, in which case it's still a lot.)" >[:alpha:]</template>
	<template context="perl" name="regex [:ascii:]" enabled="true" description="Any character with an ordinal value between 0 and 127." >[:ascii:]</template>
	<template context="perl" name="regex [:cntrl:]" enabled="true" description="Any control character. " >[:cntrl:]</template>
	<template context="perl" name="regex [:digit:]" enabled="true" description="A character representing a decimal digit, such as 0 to 9. " >[:digit:]</template>
	<template context="perl" name="regex [:graph:]" enabled="true" description="Any alphanumeric or punctuation character.Any alphanumeric or punctuation character." >[:graph:]</template>
	<template context="perl" name="regex [:lower:]" enabled="true" description="A lowercase letter." >[:lower:]</template>
	<template context="perl" name="regex [:print:]" enabled="true" description="Any alphanumeric or punctuation character or space." >[:print:]</template>
	<template context="perl" name="regex [:punct:]" enabled="true" description="Any punctuation character." >[:punct:]</template>
	<template context="perl" name="regex [:space:]" enabled="true" description="Any space character. Includes tab, newline, form feed, and carriage return.Any uppercase " >[:space:]</template>
	<template context="perl" name="regex [:upper:]" enabled="true" description="Any uppercase letter" >[:upper:]</template>
	<template context="perl" name="regex [:word:]" enabled="true" description="Any identifier character, either an alnum or underline." >[:word:]</template>
	<template context="perl" name="regex [:xdigit:]" enabled="true" description="Any hexadecimal digit. Though this may seem silly ([0-9a-fA-F] works just fine)" >[:xdigit:]</template>

	<template context="perl" name="regex \b" enabled="true" description="Match a word boundary" >\b</template>
	<template context="perl" name="regex \B" enabled="true" description="Match a non-(word boundary)" >\B</template>
	<template context="perl" name="regex \A" enabled="true" description="Match only at beginning of string" >\A</template>
	<template context="perl" name="regex \Z" enabled="true" description="Match only at end of string, or before newline at the end" >\Z</template>
	<template context="perl" name="regex \z" enabled="true" description="Match only at end of string" >\z</template>
	<template context="perl" name="regex \G" enabled="true" description="Match only at pos() (e.g. at the end-of-match position of prior m//g)" >\G</template>

	<template context="perl" name="regex (pattern1|pattern2)" enabled="true" description="Alteration; matches either pattern1 or pattern2" >(${pattern1}|${pattern2})</template>
  <template context="perl" name="regex (?:pattern)" enabled="true" description="This is for clustering, not capturing; it groups subexpressions like &quot;()&quot;, but doesn't make backreferences as &quot;()&quot; does." >(?:${pattern})</template>
  <template context="perl" name="regex (?imsx-imsx:pattern)" enabled="true" description="This is for clustering, not capturing; it groups subexpressions like &quot;()&quot;, but doesn't make backreferences as &quot;()&quot; does." >(?${imsx}-${imsx}:${pattern})</template>
  <template context="perl" name="regex (?#text)" enabled="true" description="A comment. The text is ignored." >(?#${text})</template>
  <template context="perl" name="regex (?{code })" enabled="true" description="This zero-width assertion evaluate any embedded Perl code." >(?{${code}})</template>
  <template context="perl" name="regex (??{code })" enabled="true" description="This is a &quot;postponed&quot; regular subexpression. The code is evaluated at run time, at the moment this subexpression may match." >(??{${code}})</template>
  <template context="perl" name="regex (?!pattern)" enabled="true" description="Zero-width negative look-ahead assertion." >(?!${pattern})</template>
  <template context="perl" name="regex (?=pattern)" enabled="true" description="Zero-width positive look-ahead assertion." >(?=${pattern})</template>
  <template context="perl" name="regex (?&lt;=pattern)" enabled="true" description="Zero-width positive look-behind assertion." >(?&lt;=${pattern})</template>
  <template context="perl" name="regex (?&lt;!pattern)" enabled="true" description="A zero-width negative look-behind assertion." >(?&lt;!${cursor})</template>
  <template context="perl" name="regex (?(condition)yes-pattern|no-pattern)" enabled="true" description="Conditional expression." >(?(${condition})${yes-pattern}|${no-pattern}))</template>
  <template context="perl" name="regex (?(condition)yes-pattern)" enabled="true" description="Conditional expression." >(?(${condition}${yes-pattern}))</template>

  <template context="perl" name="regex (?imsx-imsx)" enabled="true" description="One or more embedded pattern-match modifiers." >(?${imsx}-${imsx})</template>
</templates>
