晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/self/root/usr/share/perl5/ |
Upload File : |
use strict;
use warnings;
# A tiny private library routine which is a helper to several Perl core
# modules, to allow a paradigm to be implemented in a single place. The name,
# contents, or even the existence of this file may be changed at any time and
# are NOT to be used by anything outside the Perl core.
sub _meta_notation ($) {
# Returns a copy of the input string with the nonprintable characters
# below 0x100 changed into printables. Any ASCII printables or above 0xFF
# are unchanged. (XXX Probably above-Latin1 characters should be
# converted to \X{...})
#
# \0 .. \x1F (which are "\c@" .. "\c_") are changed into ^@, ^A, ^B, ...
# ^Z, ^[, ^\, ^], ^^, ^_
# \c? is changed into ^?.
#
# The above accounts for all the ASCII-range nonprintables.
#
# On ASCII platforms, the upper-Latin1-range characters are converted to
# Meta notation, so that \xC1 becomes 'M-A', \xE2 becomes 'M-b', etc.
# This is how it always has worked, so is continued that way for backwards
# compatibility. The range \x80 .. \x9F becomes M-^@ .. M-^A, M-^B, ...
# M-^Z, M-^[, M-^\, M-^], M-^, M-^_
#
# On EBCDIC platforms, the upper-Latin1-range characters are converted
# into '\x{...}' Meta notation doesn't make sense on EBCDIC platforms
# because the ASCII-range printables are a mixture of upper bit set or
# not. [A-Za-Z0-9] all have the upper bit set. The underscore likely
# doesn't; and other punctuation may or may not. There's no simple
# pattern.
my $string = shift;
$string =~ s/([\0-\037])/
sprintf("^%c",utf8::unicode_to_native(ord($1)^64))/xeg;
$string =~ s/\c?/^?/g;
if (ord("A") == 65) {
$string =~ s/([\200-\237])/sprintf("M-^%c",(ord($1)&0177)^64)/eg;
$string =~ s/([\240-\377])/sprintf("M-%c" ,ord($1)&0177)/eg;
}
else {
no warnings 'experimental::regex_sets';
# Leave alone things above \xff
$string =~ s/( (?[ [\x00-\xFF] & [:^print:]])) /
sprintf("\\x{%X}", ord($1))/xaeg;
}
return $string;
}
1