⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 split_command.t

📁 source of perl for linux application,
💻 T
字号:
#!/usr/bin/perl -wBEGIN {    if( $ENV{PERL_CORE} ) {        chdir 't' if -d 't';        @INC = ('../lib', 'lib');    }    else {        unshift @INC, 't/lib';    }}chdir 't';use ExtUtils::MM;use MakeMaker::Test::Utils;my $Is_VMS   = $^O eq 'VMS';my $Is_Win32 = $^O eq 'MSWin32';use Test::More tests => 7;my $perl = which_perl;my $mm = bless { NAME => "Foo" }, "MM";# I don't expect anything to have a length shorter than 256 chars.cmp_ok( $mm->max_exec_len, '>=', 256,   'max_exec_len' );my $echo = $mm->oneliner(q{print @ARGV}, ['-l']);# Force a short command length to make testing split_command easier.$mm->{_MAX_EXEC_LEN} = length($echo) + 15;is( $mm->max_exec_len, $mm->{_MAX_EXEC_LEN}, '  forced a short max_exec_len' );my @test_args = qw(foo bar baz yar car har ackapicklerootyjamboree);my @cmds = $mm->split_command($echo, @test_args);isnt( @cmds, 0 );@results = _run(@cmds);is( join('', @results), join('', @test_args));my %test_args = ( foo => 42, bar => 23, car => 'har' );$even_args = $mm->oneliner(q{print !(@ARGV % 2)});@cmds = $mm->split_command($even_args, %test_args);isnt( @cmds, 0 );@results = _run(@cmds);like( join('', @results ), qr/^1+$/,         'pairs preserved' );is( $mm->split_command($echo), 0,  'no args means no commands' );sub _run {    my @cmds = @_;    s{\$\(ABSPERLRUN\)}{$perl} foreach @cmds;    if( $Is_VMS ) {        s{-\n}{} foreach @cmds    }    elsif( $Is_Win32 ) {        s{\\\n}{} foreach @cmds;    }    return map { s/\n+$//; $_ } map { `$_` } @cmds}

⌨️ 快捷键说明

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