perlform - Perl ��勉����í�若��������
Perl ��壔�������ŝ��������膣���ŝ�㋘����若����������c�若�����篏������勉����í����⓾���������������� 罘�罕���������c�⓾����障����� ���������絎号����˨�������������˨��Perl ��壠�阪�������������若�吾�� 荀���������������������������勉����㏍�違�í����勌����������í����⓾�������障����� �憜����勉����若�吾�˨�������☖��茵���阪����������������������若�吾�������������阪����������帥�ゃ����潟�違�ŝ�í� ���������篆���������ゃ�ャ����������������с����障����� ��㏍�若�壔�若����� FORTRAN ��������������障�����: format() ���絎h����勉�������勉����勉�с�� write() ���絎�茵���勉�������勉����勉�с����� perlfunc 筝㏍�勉�������������勉����潟����ŝ�������с����⓾�������������� 綛檎����˨����������勉�㋘�ゃ�≪�⓾����奝��絽吾�̬˛��帥����������� BASIC ��� PRINT USING �����勉�������ŝ����勉�с����� 莢ц����勉�������� nroff(1) ��◑�������⓾��������������
��������宴�若�吾����泣����˨�若����潟�����罕���˨�������í�若�����������絎�茵������������勉�с�壔�ŝ� 絎h����������������勉�ŝ�勉�с�������㏍�違�í����勌算�����勐�贋����̥舟��������������с����障����� (���������������絽吾�壠����⓾�障�������⓾�������勉����壔����с�����������) �����������壔��Perl ��勌����勉����鴻�⓾�勉�������������壠����≪��������������腥咲����������c�⓾����障����� ��������壔�ゃ�障�����"Foo" �����������������勰�∽�違�������c�⓾����������������������� "Foo" �� ���������篁������������⓾����������í�若�������������奝����������勉�ŝ�勉�������������������с����� �����������ŝ��������筝������������������<�ゃ�˨����潟����˨�̥����割�������������������í�若���������� ��������í�˨����勐�������壔�������勉����<�ゃ�˨����潟����˨����������������˨�ŝ����障����� �����������c�⓾��STDOUT ��勉�������í�˨����勉����í�若����������勐�������� "STDOUT" ��с�������� TEMP ��������������<�ゃ�˨����潟����˨��絲障�������������í�˨�������í�若���������� ��������� "TEMP" �����ŝ����障����� �����������壠����������勉�勉�������̬�������障����� ��������с�壔�������障��������
��阪����㋘�潟�若�������í�若����������壚札筝���勉��������絎h����������障��:
format NAME =
FORMLIST
.
��������������ャ����������翫����������í�若�������� "STDOUT" ���絎�臂í�������障����� 1 罅���勉�����筝���� "." ���臀勉�������������í�若�����������腟�篋������障����� FORMLIST ��壔�����������������篁ヤ����� 3 ��ゃ�勉�������������с�����茵���勌研��潟�����罕������������障�����
-
膃� 1 ��˨�í����� `#' ���臀勉����������������˨����c�☎ず�����������潟�<�潟�����
-
��阪��茵���勉����í�若�����������筝���������������壔����c�若��茵����
-
��翫����勉����壔����c�取�������ゃ����若��莨若����������勐����域�����
�����壔����c�取����壔����ŝ����í�˨�ŝ����㏍�鴻�����羞激����c����阪�������c�若�˨��絎�臂í����˨�帥�障����� �����������勤����壔�í�勉�������ɱ����医��������茵���������障�������� �����c�若�˨��絎�臂í�壩��絖���勰�������ц����������������c�若�˨����勰��紮�������絽����������綛���吾� ��≦宍���茵������障����� 篁ヤ����壔����c�若�˨��絎�臂í�勉�������勖��絖���勐�������ʒ�������с��:
@ start of regular field
^ start of special field
< pad character for left justification
| pad character for centering
> pad character for right justification
# pad character for a right-justified numeric field
0 instead of first #: pad number with leading zeroes
. decimal point within a numeric field
... terminate a text field, show "..." as truncation evidence
@* variable width field for a multi-line value
^* variable width field for next line of a multi-line value
~ suppress line with all fields empty
~~ repeat line until all fields are exhausted
�����壔����c�取����勖�吾�������c�若�˨����� "@" (at) ��� "^" (caret) ��ч��紮���������� ������������������絽吾����������号����������c�若�˨�������若�喝�冴�����������腓冴����障����� ������������絖���勰�御����壔����c�若�˨����������㏍�鴻�������医�ゅ����˨����c�〠浦絎���������障����� �����˨��羲�膊�絖���壔����c�若�˨����勌�������с�壔�������障�������� 罕������ɱ櫝�醇�с�����������荅括完��˨�ゃ����☀����⓾�������障�����������
(�����㏍�鴻�������c�若�˨��)
�����c�若�˨����勰�激����壔��綏☗���������勀����������祉�潟�帥�ŝ�潟�違�����������������絎������� "<", ">", "|" ��������c�����絖���у�������������������医�ゃ����c�若�˨���� 筝������������障����� ���絽吾�勉����c�若�˨����с�壔�����(��������勖�壕����障��)�����������������御�����������茵��������� 篏������ʋ��絖���勐�����荅違�����緇���c�☀;腓冴�������障����� �����㏍�鴻�������c�若�˨����� "..." ��х�������c�⓾�������翫�������������ゃ��������荅違������������� 3 ��ゃ�勉�����������茵◐ず��������障����� ��号�������㏍�鴻�������c�若�˨����壠�堺�㋜����̬����域�������㏍�鴻�������㏍����虁¹���莨若�帥�˩戎��������障��; 荅括完��˨�ゃ����⓾�� "Using Fill Mode" ��������с����⓾��������������
Example:
format STDOUT =
@<<<<<< @|||||| @>>>>>>
"left", "middle", "right"
.
Output:
left middle right
(��医�ゃ����c�若�˨��)
�����������c�潟�井��絖���������� "#" ���篏帥����������医�ゃ����c�若�˨������勈¹������������������ ���絎������障����� ��ŝ����激�с�潟�� "." ��壠����亥�鴻�勌��臀勉��絎�臂í����障����� ��������� "#" ��勌撮��������� "0" (zero) ���篏帥�������������í�若�������������������医�ゃ� ������綽�荀���с�������� 0 ��с����������c�潟�違����障����� ��ゃ����ɱ��臂í�勐�翫�������号����医�ゃ����c�若�˨����夌Ã��˨�ŝ����障����� ������腟������勐�ゃ�������c�若�˨����ф��絎����������綛����莇���������翫����� ��ŝ�若����若����㏍�若��������������腓冴����������� "#" ��у�������������障�����
Example:
format STDOUT =
@### @.### @##.### @### @### ^####
42, 3.1415, undef, 0, 10000, undef
.
Output:
42 3.142 0.000 0 ####
(�櫔����決����域�������㏍�鴻����勉�������� @* �����c�若�˨��)
�����c�若�˨�� "@*" ��虁����域����у�����荅違����������ŝ����ゃ��茵◐ず��������������˩戎��������障��; ��������壔�������ʃ昆 1 茵���ц;腓冴����������鴻����с��(���������綽�荀���с�壔�������障�����)��� ���緇���勖�壕����壠�������純����������障�������������勌����勐����⓾�勖��絖���壔����勉�障�上�阪����������障�����
(���1 ������ 1 茵������勐櫔����激����㏍�鴻����勉�������� ^* �����c�若�˨��)
"@*" ������罕������������壠櫔����桁�������c�若�˨����с����� ���絎���������ゃ�壔�鴻�˨�ï�ゃ�с�ŝ�������違�ŝ����障�������� Perl ��壔����㏍�鴻����勖�������勤��(��������� "\n" ��障��)��������c�若�˨����˨�������������������� 罨<�˨����勐����違�������с�����������������罨<�勉����㏍�鴻�����茵◐ず�����������������˨�����絖������ �����勰�������壠�������純����������障����� 紊���違�壠奨��� ��������障����� ���
Example:
$text = "line 1\nline 2\nline 3";
format STDOUT =
Text: ^*
$text
~~ ^*
$text
.
Output:
Text: line 1
line 2
line 3
(��ゃ�勖��絎�)
綣����膓���������í�若��������茵���ф��絎������������ゃ�壔�������壔����c�若����c�若�˨��������������綺��� ��ŝ����障����� ��ゃ�����箴�������綣���壔�˨�潟����у�������������⓾����ŝ�������違�ŝ����障�������� 綣���壔��茵���勐�☎�����茵���������������������˨�ŝ�鴻����潟�潟����㏍�鴻����ц��箴<�������障��; ��с�����������筝���ゃ�勉�ŝ�鴻��綣����茲���域����勤��膣���������������������������с����障����� �����勐����壔��������筝㏍����c����у�蚊�障����⓾�������翫����˨�壔��2 茵�篁ヤ���� 綺������������������������с����障����� �����勐�翫����������������c����壚��茵���勉�勖�������勉����若�壔�潟�с�ŝ�������違�ŝ����障�������� ������綣����絨���育����������c����医�ゃ�������☀��箴<����������医�ゆ��絎����絲上�������������壔����c�若� ��阪����̥憗����障��(��ゃ�障�����������莨若�帥�� "." 篁ュ����� 茲���違�� "#" �����ゃ�������⓾� �����壔����c�若�с��); ��������⓾��絨���亥�鴻�勉�������˩戎������������絖���壔�� use locale
��������鴻�ŝ����˨�㋘�潟����� LC_NUMERIC ��㏍�宴�若�˨�˨����c�〠浦絎���������障����� ��������壔����������違��絎�茵������˨����ゃ��茯���㏍�宴�若�˨�����絎���������⓾�������医����勐�翫����˨�壔�� ��������í�˨����� "." ��с�壔�ŝ�� "," ���篏帥�������������������������с����� 荅潟����������宴�� perllocale ��� "WARNINGS"" in " ��������с����⓾��������������
(荅違��莨若�帥�≪�若�����篏帥��)
�����㏍�鴻�������c�若�˨����с�壔����㏍�c�㋘��������荅違��莨若�帥�≪�若����������鴻�˨����障����� ���絎���������ゃ�壚算�����勐����с�壔�ŝ����������㏍�鴻�����絖�������篆���������⓾�������鴻�˨�ï����違� ��������с�ŝ����⓾�壔�ŝ����障�������� Perl ��壩❶��勌��臀勉�勉����㏍�鴻����������c�若�˨�������阪�������⓾����� ���絖������勐����㏍�������������純�����(chop)��勉�с��罨<�˨����勐����違�������с�������������˨� 罧������勖��絖���������阪����с�������勉�с����� (��������壔�ゃ�障����������勐����域�ʃ昆��� write() ��勐��茵�筝㏍��紊���眼�������⓾����障���� ��������������с�������������˨�壩�祉����ŝ�������������������с�����) �����㏍�鴻����勖❶��勌��臀勉�夌�����茵������蚊�≪�˨�眼�ŝ�冴����˨����c�〠浦絎���������障����� 綣桁�句����̬�������蚊��茵�������������緇ï鍵���絖� (\r
) ���篏帥����障����� $:
���������紊����(English ��≪�吾�ャ�若�˨��篏帥�c�⓾������� $FORMAT_LINE_BREAK_CHARACTERS)��勐��絎鴻��紊���眼�������������˨����c�⓾�� ��������ф�壕����������������勉�с��������絖����荐㊤����с����障�����
���絽吾�壔����������鴻�˨�ï����違�̥����割��������������膰〠�劫����̥����翠����㏍�������������c�若�˨���� 筝⓾�潟��篏帥�c�⓾����㏍�鴻����勉����㏍����壔����阪�������������������с����障����� ���緇���勉����c�若�˨����勛��腴壔�� "..." ���臀勉����������������壠�阪��絲乗院��勉����㏍�鴻����� ��激�������☗��篏������阪����с����ŝ�������������阪����˩�������������障�����
(�����⓾�勉����c�若�˨�����腥冴�勤����������吟�����)
��㏍�c�㋘��������篏帥�c�������c�若�˨����壔�������⓾�勉����c�若�˨�����腥榊�純�勤����� �����������������������с����障����� 茵���勌算�����勐�贋����� "~"(�����˨��) ���臀勉����������˨����c�☎Ã茵���� �����吟����������������с����障����� �����˨����壠�阪����с�夌Ã��純��紊������������障�����
(�����í�若��������茵����膵違��菴����)
茵���勉�í�������� 2 ��ゃ�勰�g�������������˨�����絖� "~~" ���臀勉�������������勤���� �����勤����˨����������⓾�勉����c�若�˨����� ��阪�������������障��(��ゃ�障����ɱ��臂í�˨�ŝ����障��)������菴���������障����� ��号��(��㏍�c�㋘�����)�����㏍�鴻�������c�若�˨����с�壔����������奝����������í�����莎激�������障�������� 紊������勉����������㏍�鴻�������c�若�˨�����篏帥����翫��������絎�������綣���壠�������ゃ��罸����羂檎���� 菴������ŝ����������˨�������鴻����������с��������! (���������莎激��������膣���ŭ����� shift(@f)
��с�����) �����勉�������ʃ����̹��絽吾�勖�医�ゃ����c�若�˨�����篏帥�c�⓾�壔�������障�����; ��ŝ����ŝ�� 羆冴����☎Ã��˨�ŝ����ŝ����������с�����
(�����若�後����㏍�勐�☎��)
�����若�吾�勐����㏍�勐�☎����壔����������í�˨����с�壔�˨�㋘�潟����勉����<�ゃ�˨����潟����˨� "_TOP" ���篁���������������勉����í�若����������˨����c�☗�������宴�������障����� ��������壔����������若�吾�勐����㏍�у�若�喝�冴�������障����� "write" in perlfunc ��������с����⓾��������������
箴�:
# a report on the /etc/passwd file
format STDOUT_TOP =
Passwd File
Name Login Office Uid Gid Home
------------------------------------------------------------------
.
format STDOUT =
@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
$name, $login, $office,$uid,$gid, $home
.
# a report from a bug report form
format STDOUT_TOP =
Bug Reports
@<<<<<<<<<<<<<<<<<<<<<<< @||| @>>>>>>>>>>>>>>>>>>>>>>>
$system, $%, $date
------------------------------------------------------------------
.
format STDOUT =
Subject: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$subject
Index: @<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$index, $description
Priority: @<<<<<<<<<< Date: @<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$priority, $date, $description
From: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$from, $description
Assigned to: @<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$programmer, $description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<...
$description
.
��������阪�������c����˨�˨�������� print() ��� write() ���羞激����☖戎�����������壠櫝�純�с�������� $-
($FORMAT_LINES_LEFT
) �����ɱ����ф�宴��綽�荀������������с�����������
(�����í�若��������紊����)
��˨�㋘�潟����勉����í�若�������������� $~
($FORMAT_NAME
) ���������紊���違����主����������� ��˨�㋘�潟����勐����㏍�勉����í�若����������勐�������� $^
($FORMAT_TOP_NAME
) �� ��主����������⓾����障����� ��˨�㋘�潟����勐�阪�������若�御�違�� $%
($FORMAT_PAGE_NUMBER
) ��˨�������� �����若�後����������勤����違�� $=
($FORMAT_LINES_PER_PAGE
) ��˨�������障����� �����勉����潟����˨����阪�������̬�ɱ�������í����激�ャ����������í�������� $|
($OUTPUT_AUTOFLUSH
) ��˨�������障����� ��������若�吾�勐����㏍�勐��(1 �����若�悟�勉����ゃ��)�����阪��������������絖������ $^L
($FORMAT_FORMFEED
) �����主����������⓾����障����� �����������勐����違�壔����<�ゃ�˨����潟����˨�������̬┃絎���������������勉�ŝ�勉�с�� ��違�ŝ�������<�ゃ�˨����潟����˨����号����������若����˨�壔�������勉����<�ゃ�˨����潟����˨� select() ���茵����綽�荀������������障��:
select((select(OUTF),
$~ = "My_Other_Format",
$^ = "My_Top_Format"
)[0]);
��<����c�◑����ャ�������с����㏍�� ��с����������壚����㋜����ŝ�ゃ����c�ŝ����ŝ����с��; ��с�����������������荀������������˨����������ŝ� 薊������ŝ����с�������������� 絨���ŝ�����������篁ュ����勉����<�ゃ�˨����潟����˨��篆������������������˩�����紊���違�� 篏帥�������������с����障��: (筝���㋜����˨�壔����<����勉�祉�������壔����������������с��; ��ŝ����ŝ����� 茯㏍�帥����������ŝ����違�������с�ŝ�����綣���勰��筝㏍�с����������㋘�勉�激�潟�違�˨�鴻����������� 篏帥�������������с��):
$ofh = select(OUTF);
$~ = "My_Other_Format";
$^ = "My_Top_Format";
select($ofh);
English ��≪�吾�ャ�若�˨��篏帥�c�⓾�������違��紊���医����������������������������勉�˨�с����障��:
use English;
$ofh = select(OUTF);
$FORMAT_NAME = "My_Other_Format";
$FORMAT_TOP_NAME = "My_Top_Format";
select($ofh);
��������������������с����障��絋���� select() �����������障����� FileHandle ��≪�吾�ャ�若�˨��篏帥����障����������� ��������������違�������������勛�号��紊���違�勌撮���������絨����絖���勉�<�純����������� 篏帥�c�⓾�≪�壔�祉�鴻�с�������������˨�ŝ����障�����
use FileHandle;
format_name OUTF "My_Other_Format";
format_top_name OUTF "My_Top_Format";
��������吟����壔����ŝ����障��������!
(羈���
��ゃ�勤����˨�壚算�����勐��(^ �����c�若�˨����с�壔�ŝ�� @ �����c�若�˨�����)�����˨�������������� ��с�������勉�с��sprintf() �����ɱ����т����c����������ŝ����勌����勰�∽�違��篏帥�c� ��������眼�c����☎�����茵���������������с����障����� 箴�������:
format Ident =
@<<<<<<<<<<<<<<<
&commify($n)
.
��㋚����勉�㏍�c�㋘����������≪����������若�壔�������c�若�˨�������水�ャ�������壚札筝���勉�������˨����障��:
format Ident =
I have an @ here.
"@"
.
茵����篏����筝㊤ぎ絲������������˨�壚札筝���勉�������˨����障��:
format Ident =
@|||||||||||||||||||||||||||||||||||||||||||||||
"Some text line"
.
��������若�吾�勐����̹�≫����ŝ�������c�若�˨����������若�吾�勐勆ɵ���羌勉�������⓾���������������� 腟���粋昭��帥�勖�号����壔�������障�������� �����c�若�˨�������í����̥舟�����������勉��������絎�������綽�荀������������障����� ��㋚����˨����⓾����壔�с����ŝ����勉�с����������˨�㋘�潟����勉�˨�í����勖�違����冴�ャ���� �����勐�眼�с����í�若���������������������������������櫝�純�ŝ�勉�с�� �����������⓾����� eval() ���������������������篏帥����障��:
$format = "format STDOUT = \n"
. '^' . '<' x $cols . "\n"
. '$entry' . "\n"
. "\t^" . "<" x ($cols-8) . "~~\n"
. '$entry' . "\n"
. ".\n";
print $format if $Debugging;
eval $format;
die $@ if $@;
��������壚札筝���勉�������ŝ����í�若�������������������������с��������:
format STDOUT =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$entry
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
$entry
.
篁ヤ����勌����壔��fmt(1) ��勉�������ŝ����������������<����c�������������㏍�違�í����с��:
format =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~
$_
.
$/ = '';
while (<>) {
s/\s*\n\s*/ /g;
write;
}
(���������)
$FORMAT_TOP_NAME ��壔�˨�㋘�潟����勉�������������í�若����������勐�������� 篆���������⓾����⓾�������勉�с����������������帥��絲障����☗����������������ɱ�������̬�������ï���� 篁���������壔�������障�������� 荅�箴<��茵���c�⓾�帥����障�с�壔����í�若�������������í����������� 紊с����ŝ����勉�˨�ŝ����勉����ャ�������������с����ŝ�����������������������紊с����ɱ�馹���с����� ��������� TODO ��ŝ�鴻����˨�������障�����
筝���ゃ�勖�☎��: �����ŝ�������阪����泣�ゃ�冴�勉�������帥��篏帥����勉�с�������違��write() ����������� $FORMAT_LINES_LEFT ��������с����壔�������違�������帥����ï����̬;腓冴�с����障�����
��ャ�勖�☎��: open(MYSELF, "|-")
("open" in perlfunc ���������)���篏帥�c� ��ɱ����ʃ昆���絲障����������ゃ�������ŝ�若����潟����☗幻��� STDOUT ��с�壔�ŝ�� MYSELF �� write() ��������������˨����障����� 絖������㏍�祉�鴻�с�壔����� STDIN ��������勐�ュ����������������������������帥�����罕������������������ ��☎�������障����� ��������奝��絽吾�˨�����荵純����������������с�壔�������障�������������������違�с����障�����
(�����í�若��������罘�罕���勐�������˨�≪�壔�祉�鴻�����)
�����í�若��������罘�罕����絲障�����篏�羂贋����≪�壔�祉�鴻�勉�������˨��formline() ���篏帥�c�������� ��贋・ $^A
($ACCUMULATOR 紊����) ��˨�≪�壔�祉�鴻����������������с����障�����
箴�������:
$str = formline <<'END', 1,2,3;
@<<< @||| @>>>
END
print "Wow, I just stored '$^A' in the accumulator!\n";
��障�����printf() ���絲障����� sprintf() ������������������ write() ���絲障����☀����� ��泣����˨�若����� swrite() ���篏������������������˩札筝���勉�������˨�с����障��:
use Carp;
sub swrite {
croak "usage: swrite PICTURE ARGS" unless @_;
my $format = shift;
$^A = "";
formline($format,@_);
return $^A;
}
$string = swrite(<<'END', 1, 2, 3);
Check me out
@<<< @||| @>>>
END
print $string;
(茘☗��)
�����í�若�����������腟�篋���������㋜�������������������壔����������c�☀┃絎���������⓾����� ��ゃ�潟�帥�若����������<�若�í��(��������☎��薑���˨�������違�������������c����������c��荐㊤���� ���箴���勉����勉�с����c�⓾��箴�紊���с�壔�������障�����)�����������〠検�����������<�若�˨�<����祉�若�吾�� ��í�障�c�☎�������������⓾����障���櫝�醇�с����������障����� ��с�������������<�ゃ�˨����������⓾����í�若����������潟�若�������������������˨�壔�� �����í�若�����������腟�腴壔�������������������㋘����������若�吾�潟�˩�������ŝ���������� ��ゃ�潟����潟�������鴻����с��; ��������˨����� SMTP ������筝㏍�у����c�⓾����障�������������蚊����障�����
("my" ���篏帥�c�☗㐂荐����������)��㋘�㏍�激�˨��紊���違�壔�������í�若���������������� ��㋘�㏍�激�˨��紊���違�勉�鴻�潟�若����勐����眼�у㐂荐���������⓾����ŝ����������壔�������í�若���������� �����眼�с�壚���櫝����˨�ŝ����障�����
�����㏍�違�í����勛�医����� LC_NUMERIC ��㏍�宴�若�˨�����絎������⓾�������í�若����������� 絎h����������������� use locale
��������鴻�勐�翫����с����� ���絎�������絨���亥�号��絖���������í�若�������������������阪����̥憗����障����� �����í�若�������������������阪����� write() �����若�喝�冴�������������鴻�с� use locale
�����í�違����˨����c�☗�九勝��������������壔�с����障�������� ��㏍�宴�若�˨�勐�☎����̹�≪�����茘域����� perllocale ��������с����⓾��������������
��阪�������㏍�鴻�������c�若�˨����̬;腓冴�����������絖����筝㏍�勐����九勝���絖���夌Ã��純� 臀勖����������障����� (������������荅違��莨若�帥�≪�若����с�� \r
��夌�劫�ャ�ʋ����潟�������ゃ�������� 綽������ŝ����с��������������) ��������壔����九勝���絖������阪����<����c�≪�˨����c�⓾�壔��羔�������������������������箙宴�������������� ��蚊����障�����