![]() |
![]() |
Binding operatorBinding operator |
||
This operator is a really ugly, poor and clueless attempt to reach at least 1% of the
power of the perl =~ operator :D It allows some complex string operations to be performed efficently by operating directly on the left operand (in fact this is a lot faster in KVIrc since at least one step of parsing is skipped). Its basic syntax is: <left_operand> =~ <operation>[parameters] Where <operation> may be one of 't','s' and parameters depend on it. <left_operand> is the target of the <operation>. If <left_operand> is an array or dictionary, the <operation> is executed on each item they contain. Operation 't' is the transliteration. The complete syntax with parameters is: <left_operand> =~ t/<search characters>/<replacement characters>/ where <search characters> is a string of characters that are replaced with the corresponding characters in <replacement characters>. This operation can be also named 'y' or 'tr' (to preserve some compatibility with other languages).
The complete syntax with parameters is: <left_operand> =~ s/<search pattern>/<replacement pattern>/[flags] where <search pattern> is an extended regular expression to be matched in the <left_operand> and <replacement string> is a special pattern that will replace any occurence found. <search pattern> may contain parentheses to capture parts of the matched text. <replacement string> can contain the escape sequences \\N where N is a number between 1 and 9 to be replaced by the captured text. (We use \\N because KVIrc will first unquote the string when parsing...) \\0 is a special escape that will be replaced by the entire match (is always valid!). [flags] may be a combination of the letters 'g','i' and 'w'. 'g' causes the search to be global and not stop after the first occurence of <search pattern>. 'i' causes the search to be case insensitive. 'w' causes the search pattern to be interpreted as a simple wildcard regular expression. |
||
Examples | ||
|
||
See also | ||
operators |