<commit_before><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
   This file is part of the KDE project
   Copyright (C) 2001, 2002, 2003, 2004 <NAME> <<EMAIL>>

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License version 2 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.

   *** NOTICE ***
   This file is maintained by <NAME> <<EMAIL>>
   Please do not commit changes without checking with me.

   *** TODO ***

   Work on the comment support in the REPLACEMENT part of s/// - we may support
   the comment, if the line remainder does not contain the delimiter char.

   Try to support ?PATTERN? (at least in one line, like if "\?(?=.*\?)" matches).

   parse code behind '<<HEREDELIMITER' as code, or at least ignore it, to eol.
   Requires the ability to pass the delimiter through a context level.

   find a here delimiter like '*END*' (Shell.pm). Requires that when a regex is
   inserting a dynamic string, it escapes [*(){}$[]

   support for more regex extensions, such as (?>), (?{}), (?(cond)yes|no)

   Enhance tr/// and y/// support.
-->
<language name="Perl" version="1.20" kateversion="2.4" section="Scripts" extensions="*.pl;*.pm" mimetype="application/x-perl;text/x-perl" author="<NAME> (<EMAIL>)" license="LGPL">
  <highlighting>
    <list name="keywords">
      <item> if </item>
      <item> unless </item>
      <item> else </item>
      <item> elsif </item>
      <item> while </item>
      <item> until </item>
      <item> for </item>
      <item> each </item>
      <item> foreach </item>
      <item> next </item>
      <item> last </item>
      <item> break </item>
      <item> continue </item>
      <item> return </item>
      <item> use </item>
      <item> no </item>
      <item> require </item>
      <item> my </item>
      <item> our </item>
      <item> local </item>
      <item> BEGIN </item>
      <item> END </item>
      <item>require</item>
      <item> package </item>
      <item> sub </item>
      <item> do </item>
      <item> __END__ </item>
      <item> __DATA__ </item>
      <item> __FILE__ </item>
      <item> __LINE__ </item>
      <item> __PACKAGE__ </item>
    </list>
    <list name="operators">
      <item> = </item>
      <item> != </item>
      <item> ~= </item>
      <item> += </item>
      <item> -= </item>
      <item> *= </item>
      <item> /= </item>
      <item> **= </item>
      <item> |= </item>
      <item> ||= </item>
      <item> &amp;= </item>
      <item> &amp;&amp;= </item>
      <item> ?= </item>
      <item> + </item>
      <item> - </item>
      <item> * </item>
     <!-- <item> / </item>//-->
      <item> % </item>
      <item> || </item>
      <item> &amp;&amp; </item>
      <item> | </item>
      <item> &amp; </item>
      <item> &lt; </item>
      <item> &lt;&lt; </item>
      <item> &gt; </item>
      <item> &gt;&gt; </item>
      <item> ^ </item>
      <item> -&gt; </item>
      <item> =&gt; </item>
      <item> . </item>
      <item> , </item>
      <item> ; </item>
      <item> :: </item>
      <item> \ </item>
      <item> and </item>
      <item> or </item>
      <item> not </item>
      <item> eq </item>
      <item> ne </item>
    </list>
    <list name="functions">
      <item>abs</item>
      <item>accept</item>
      <item>alarm</item>
      <item>atan2</item>
      <item>bind</item>
      <item>binmode</item>
      <item>bless</item>
      <item>caller</item>
      <item>chdir</item>
      <item>chmod</item>
      <item>chomp</item>
      <item>chop</item>
      <item>chown</item>
      <item>chr</item>
      <item>chroot</item>
      <item>close</item>
      <item>closedir</item>
      <item>connect</item>
      <item>cos</item>
      <item>crypt</item>
      <item>dbmclose</item>
      <item>dbmopen</item>
      <item>defined</item>
      <item>delete</item>
      <item>die</item><commit_msg>add some missing operators BUG: 153121<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
   This file is part of the KDE project
   Copyright (C) 2001, 2002, 2003, 2004 <NAME> <<EMAIL>>

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License version 2 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.

   *** NOTICE ***
   This file is maintained by <NAME> <<EMAIL>>
   Please do not commit changes without checking with me.

   *** TODO ***

   Work on the comment support in the REPLACEMENT part of s/// - we may support
   the comment, if the line remainder does not contain the delimiter char.

   Try to support ?PATTERN? (at least in one line, like if "\?(?=.*\?)" matches).

   parse code behind '<<HEREDELIMITER' as code, or at least ignore it, to eol.
   Requires the ability to pass the delimiter through a context level.

   find a here delimiter like '*END*' (Shell.pm). Requires that when a regex is
   inserting a dynamic string, it escapes [*(){}$[]

   support for more regex extensions, such as (?>), (?{}), (?(cond)yes|no)

   Enhance tr/// and y/// support.
-->
<language name="Perl" version="1.21" kateversion="2.4" section="Scripts" extensions="*.pl;*.pm" mimetype="application/x-perl;text/x-perl" author="<NAME> (<EMAIL>)" license="LGPL">
  <highlighting>
    <list name="keywords">
      <item> if </item>
      <item> unless </item>
      <item> else </item>
      <item> elsif </item>
      <item> while </item>
      <item> until </item>
      <item> for </item>
      <item> each </item>
      <item> foreach </item>
      <item> next </item>
      <item> last </item>
      <item> break </item>
      <item> continue </item>
      <item> return </item>
      <item> use </item>
      <item> no </item>
      <item> require </item>
      <item> my </item>
      <item> our </item>
      <item> local </item>
      <item> BEGIN </item>
      <item> END </item>
      <item>require</item>
      <item> package </item>
      <item> sub </item>
      <item> do </item>
      <item> __END__ </item>
      <item> __DATA__ </item>
      <item> __FILE__ </item>
      <item> __LINE__ </item>
      <item> __PACKAGE__ </item>
    </list>
    <list name="operators">
      <item> = </item>
      <item> != </item>
      <item> ~= </item>
      <item> += </item>
      <item> -= </item>
      <item> *= </item>
      <item> /= </item>
      <item> **= </item>
      <item> |= </item>
      <item> ||= </item>
      <item> &amp;= </item>
      <item> &amp;&amp;= </item>
      <item> ?= </item>
      <item> + </item>
      <item> - </item>
      <item> * </item>
     <!-- <item> / </item>//-->
      <item> % </item>
      <item> || </item>
      <item> &amp;&amp; </item>
      <item> | </item>
      <item> &amp; </item>
      <item> &lt; </item>
      <item> &lt;&lt; </item>
      <item> &gt; </item>
      <item> &gt;&gt; </item>
      <item> ^ </item>
      <item> -&gt; </item>
      <item> =&gt; </item>
      <item> . </item>
      <item> , </item>
      <item> ; </item>
      <item> :: </item>
      <item> \ </item>
      <item> and </item>
      <item> or </item>
      <item> not </item>
      <item> eq </item>
      <item> ne </item>
      <item> lt </item>
      <item> gt </item>
      <item> le </item>
      <item> ge </item>
      <item> cmp </item>
    </list>
    <list name="functions">
      <item>abs</item>
      <item>accept</item>
      <item>alarm</item>
      <item>atan2</item>
      <item>bind</item>
      <item>binmode</item>
      <item>bless</item>
      <item>caller</item>
      <item>chdir</item>
      <item>chmod</item>
      <item>chomp</item>
      <item>chop</item>
      <item>chown</item>
      <item>chr</item>
      <item>chroot</item>
      <item>close</item>
      <item>closedir</item>
      <item>connect</item>
      <item>cos</item>
      <item>crypt</item>
      <item>dbmclose</item>
      <item>dbmopen</item>
      <item>defined</item>
      <item>delete</item>
      <item>die</item>
{'fraction_non_alphanumeric': 0.17392265193370166, 'fraction_numerical': 0.008839779005524863, 'mean_word_length': 2.298469387755102, 'pattern_counts': {'":': 0, '<': 435, '<?xml version=': 2, '>': 433, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2979574', 'n_tokens_mistral': 3111, 'n_tokens_neox': 3004, 'n_words': 963}