1 const char *irssi_core_code =
2 "# NOTE: this is printed through printf()-like function,\n"
3 "# so no extra percent characters.\n"
5 "# %%d : must be first - 1 if perl libraries are to be linked \n"
6 "# statically with irssi binary, 0 if not\n"
7 "# %%s : must be second - use Irssi; use Irssi::Irc; etc..\n"
8 "package Irssi::Core;\n"
12 "$SIG{__WARN__} = sub {\n"
14 " s/%%/%%%%/g for @msg;\n"
23 " eval { $_[0]->UNLOAD() if $_[0]->can('UNLOAD'); };\n"
24 " Symbol::delete_package($_[0]);\n"
28 " my $ret = eval do {\n"
29 " my ($data, $id) = @_;\n"
30 " destroy(\"Irssi::Script::$id\");\n"
31 " my $code = qq{package Irssi::Script::$id; %s $data};\n"
39 " my ($filename, $id) = @_;\n"
41 " open my $fh, '<', $filename or die \"Can't open $filename: $!\";\n"
42 " my $data = do {local $/; <$fh>};\n"
45 " $filename =~ s/([\"\\\\])/\\\\$1/g;\n"
46 " $filename =~ s/\\n/\\\\n/g;\n"
48 " $data = qq{\\n#line 1 \"$filename\"\\n$data};\n"
50 " eval_data($data, $id);\n"