Starting: [#!variable!program!#].
This is a "test" entry.
It is multiple lines with single quotes ['] and double-quotes (") and here are random brackets{!}.
It also has replacement variables: [#!variable!first!#] and [#!variable!second!#].
This is a test log entry that contains a secret [#!variable!password!#]!
This is a test log entry at log level 2.
This is a test log entry at log level 3.
This is a test log entry at log level 4.
This is a test critical log entry.
This is a test error log entry.
This is a test alert log entry.
This is a test emergency log entry.
About to run the shell command: [#!variable!shell_call!#]
About to read the file: [#!variable!shell_call!#]
About to write the file: [#!variable!shell_call!#]
[ Error ] - There was a problem running the shell command: [#!variable!shell_call!#]. The error was: [#!variable!error!#].
[ Error ] - There was a problem reading the file: [#!variable!shell_call!#]. The error was: [#!variable!error!#].
[ Error ] - There was a problem writing the file: [#!variable!shell_call!#]. The error was: [#!variable!error!#].
Output: [#!variable!line!#].
About to open the directory: [#!variable!directory!#]
Variables:
read_file() was called without a 'file' parameter, or the parameter was empty.]]>
read_file() was asked to read the file: [#!variable!file!#], but that file does not exist.]]>
read_file() was asked to read the file: [#!variable!file!#] which exists but can't be read.]]>
Reading: [#!variable!line!#].
get().]]>
get().]]>
Successfully read the words file: [#!variable!file!#].
find() failed to find: [#!variable!file!#].]]>
skin() was asked to set the skin: [#!variable!set!#], but the source directory: [#!variable!skin_directory!#] doesn't exist. Ignoring.]]>
search_directories() was passed the array: [#!variable!array!#], but it wasn't actually an array. Using \@INC + path::directories::tools + \$ENV{'PATH'} for the list of directories to search instead.]]>
read()' called without a file name to read.]]>
read()' asked to read: [#!variable!file!#] which was not found.]]>
read()' asked to read: [#!variable!file!#] which was not readable by: [#!variable!user!#] (uid/euid: [#!variable!uid!#]).]]>
change_mode() was called without a 'target' parameter, or the parameter was empty.]]>
change_mode() was called without a 'mode' parameter, or the parameter was empty.]]>
change_mode() was called without an invalid 'mode' parameter. It should have been three or four digits, but: [#!variable!mode!#] was passed.]]>
change_owner() was called without a 'target' parameter, or the parameter was empty.]]>
write_file() was asked to write the file: [#!variable!file!#] but it already exists and 'overwrite' was not set. Aborting.]]>
write_file() was asked to write the file: [#!variable!file!#] but it is not a full path. Aborting.]]>
string() was asked to process the string: [#!variable!string!#] which has insertion variables, but nothing was passed to the 'variables' parameter.]]>
Test
Test replace: [#!variable!test!#].
Test Out of order: [#!variable!second!#] replace: [#!variable!first!#].
#!FREE!#
This is a multi-line test string with various items to insert.
It also has some #!invalid!# replacement #!keys!# to test the escaping and restoring.
Here is the default output language: [#!data!defaults::languages::output!#]
Here we will inject 't_0000': [#!string!t_0001!#]
Here we will inject 't_0002' with its embedded variables: [#!string!t_0002!#]
Here we will inject 't_0006', which injects 't_0001' which has a variable: [#!string!t_0006!#].
This string embeds 't_0001': [#!string!t_0001!#]
テスト
テスト いれかえる: [#!variable!test!#]。
テスト、 整理: [#!variable!second!#]/[#!variable!first!#]。
#!FREE!#
これは、挿入するさまざまな項目を含む複数行のテスト文字列です。
#!無効!#な置換#!キー!#を使ってエスケープとリストアをテストすることもできます。
デフォルトの出力言語は次のとおりです:「#!data!defaults::languages::output!#」
ここで、「t_0000」を挿入します:[#!string!t_0001!#]
ここでは、 「t_0002」に埋め込み変数を挿入します:「#!string!t_0002!#」
ここでは変数 「#!string!t_0006!#」を持つ 「t_0001」を注入する 「t_0006」を注入します。
この文字列には「t_0001」が埋め込まれています:「#!string!t_0001!#」