selectsaver.pm

来自「MSYS在windows下模拟了一个类unix的终端」· PM 代码 · 共 53 行

PM
53
字号
package SelectSaver;=head1 NAMESelectSaver - save and restore selected file handle=head1 SYNOPSIS    use SelectSaver;    {       my $saver = new SelectSaver(FILEHANDLE);       # FILEHANDLE is selected    }    # previous handle is selected    {       my $saver = new SelectSaver;       # new handle may be selected, or not    }    # previous handle is selected=head1 DESCRIPTIONA C<SelectSaver> object contains a reference to the file handle thatwas selected when it was created.  If its C<new> method gets an extraparameter, then that parameter is selected; otherwise, the selectedfile handle remains unchanged.When a C<SelectSaver> is destroyed, it re-selects the file handlethat was selected when it was created.=cutrequire 5.000;use Carp;use Symbol;sub new {    @_ >= 1 && @_ <= 2 or croak 'usage: new SelectSaver [FILEHANDLE]';    my $fh = select;    my $self = bless [$fh], $_[0];    select qualify($_[1], caller) if @_ > 1;    $self;}sub DESTROY {    my $this = $_[0];    select $$this[0];}1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?