plugins/geshi/geshi/perl.php
changeset 3 f3e2bbbd2155
parent 2 9e3258dfae15
--- a/plugins/geshi/geshi/perl.php	Fri May 29 19:30:59 2009 -0400
+++ b/plugins/geshi/geshi/perl.php	Fri May 29 19:40:15 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.2
+ * Release Version: 1.0.8.4
  * Date Started: 2004/08/20
  *
  * Perl language file for GeSHi.
@@ -72,7 +72,7 @@
         //Heredoc
         4 => '/<<\s*?([\'"]?)([a-zA-Z0-9]+)\1;[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
         //Predefined variables
-        5 => '/\$(\^[a-zA-Z]?|[\$`\'&_\.,+\-~:\\\\\/"\|%=\?!@<>\(\)\[\]])|@_/',
+        5 => '/\$(\^[a-zA-Z]?|[\*\$`\'&_\.,+\-~:;\\\\\/"\|%=\?!@#<>\(\)\[\]])(?!\w)|@[_+\-]|%[!]|\$(?=\{)/',
         ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"','`'),
@@ -86,12 +86,12 @@
     'KEYWORDS' => array(
         1 => array(
             'case', 'do', 'else', 'elsif', 'for', 'if', 'then', 'until', 'while', 'foreach', 'my',
-            'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
-            'reset', 'continue', 'cmp', 'ne'
+            'xor', 'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
+            'reset', 'continue', 'cmp', 'ne', 'eq', 'lt', 'gt', 'le', 'ge',
             ),
         2 => array(
             'use', 'sub', 'new', '__END__', '__DATA__', '__DIE__', '__WARN__', 'BEGIN',
-            'STDIN', 'STDOUT', 'STDERR'
+            'STDIN', 'STDOUT', 'STDERR', 'ARGV', 'ARGVOUT'
             ),
         3 => array(
             'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless',
@@ -130,9 +130,9 @@
         ),
     'SYMBOLS' => array(
         '<', '>', '=',
-        '!', '@', '~', '&', '|',
+        '!', '@', '~', '&', '|', '^',
         '+','-', '*', '/', '%',
-        ',', ';', '?', ':'
+        ',', ';', '?', '.', ':'
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -194,7 +194,7 @@
         ),
     'REGEXPS' => array(
         //Variable
-        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+        0 => '(?:\$[\$#]?|\\\\(?:[@%*]?|\\\\*\$|&amp;)|%[$]?|@[$]?|\*[$]?|&amp;[$]?)[a-zA-Z_][a-zA-Z0-9_]*',
         //File Descriptor
         4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
         ),
@@ -210,4 +210,4 @@
     )
 );
 
-?>
+?>
\ No newline at end of file