亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 如何用命令返回值給變量賦值 [打印本頁]

作者: b4and5    時間: 2014-05-09 16:06
標題: 如何用命令返回值給變量賦值
請問:
my $dir = '/home/jac/down'  ;
在 $dir下面有很多 *.ctl文件:test1.ctl    test2.ctl     abc.ctl     shit.ctl     hahaha.ctl     noway.ctl ;
$dir和dir下面的.ctl文件都不是固定 ;

想設(shè)置一個數(shù)組變量@CTL_FILE, 并使@CTL_FILE的值為目標dir下面的ctl文件列表.
(在此例中 @CTL_FILE 的值應(yīng)該為 (test1.ctl test2.ctl abc.ctl shit.ctl hahaha.ctl noway.ctl))
請問,怎么弄....謝謝
作者: jason680    時間: 2014-05-09 16:23
回復(fù) 1# b4and5

would you like it?

@CTL_FILE = glob("$dir/*.ctl")

Note: it include the directory $dir
   
作者: b4and5    時間: 2014-05-12 09:20
回復(fù) 2# jason680


   Thanks!

@CTL_FILE=system "ls $dir/*.ctl"

為什么不行呢.....
作者: zhlong8    時間: 2014-05-12 09:38
應(yīng)該用 ``
The return value of 'system' is the exit status of the program as returned by the wait call. To get the actual exit value, shift right by eight (see below). See also exec. This is not what you want to use to capture the output from a command; for that you should use merely backticks or qx//, as described in `STRING` in perlop.

作者: b4and5    時間: 2014-05-12 10:00
回復(fù) 4# zhlong8

Thanks a lot!

I'm just a beginner... So poor...{:3_201:}
   
作者: jason680    時間: 2014-05-12 11:06
回復(fù) 3# b4and5

$ perldoc -f system
    system LIST
    system PROGRAM LIST
            Does exactly the same thing as "exec LIST", except that a fork is
            done first and the parent process waits for the child process to
            exit. Note that argument processing varies depending on the number
            of arguments. If there is more than one argument in LIST, or if
            LIST is an array with more than one value, starts the program
            given by the first element of the list with arguments given by the
            rest of the list. If there is only one scalar argument, the
            argument is checked for shell metacharacters, and if there are
            any, the entire argument is passed to the system's command shell
            for parsing (this is "/bin/sh -c" on Unix platforms, but varies on
            other platforms). If there are no shell metacharacters in the
            argument, it is split into words and passed directly to "execvp",
            which is more efficient.

            Beginning with v5.6.0, Perl will attempt to flush all files opened
            for output before any operation that may do a fork, but this may
            not be supported on some platforms (see perlport). To be safe, you
            may need to set $| ($AUTOFLUSH in English) or call the
            "autoflush()" method of "IO::Handle" on any open handles.

            The return value is the exit status of the program as returned by
            the "wait" call. To get the actual exit value, shift right by
            eight (see below).
See also "exec". This is not what you want to
            use to capture the output from a command; for that you should use
            merely backticks or "qx//", as described in "`STRING`" in perlop.
            Return value of -1 indicates a failure to start the program or an
            error of the wait(2) system call (inspect $! for the reason).

            ...   




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2