-w在perl脚本进程执行中指定了什么



当我使用ps aux | grep perl检查perl的进程时,perl-pid的列表在它等待的队列中列出。所以我开始研究这个过程是如何启动/usr/local/bin/processLogs的。我想知道-w在这个进程执行/usr/bin/perl -w /usr/local/bin/processLogs中意味着什么。

[root@test]# ps aux | grep perl
root      4223  1.6  0.0 132560  4576 ?        R    03:11   1:06 /usr/bin/perl -w /usr/local/bin/processLogs
root      4233  1.3  0.0 132560  4552 ?        R    03:11   0:55 /usr/bin/perl -w /usr/local/bin/processLogs
root      4246  1.1  0.0 132560  4552 ?        R    03:11   0:49 /usr/bin/perl -w /usr/local/bin/processLogs
root      4259  1.0  0.0 132560  4548 ?        R    03:11   0:44 /usr/bin/perl -w /usr/local/bin/processLogs
root      4272  0.8  0.0 132560  4544 ?        R    03:11   0:33 /usr/bin/perl -w /usr/local/bin/processLogs
root      4288  0.6  0.0 132560  4580 ?        R    03:11   0:28 /usr/bin/perl -w /usr/local/bin/processLogs

如果运行perl -h,您将获得帮助菜单,其中显示-w:

-w                enable many useful warnings

这只是启用警告。如果此程序是在自动进程中运行的,则警告可能会重定向到您可以读取它们的日志。假设有任何警告。您需要参考程序文件processLogs来了解该程序的功能。

通常,有经验的用户不会使用-w,而是更喜欢使用词汇范围的use warnings

完整输出:

$ perl -h
Usage: perl [switches] [--] [programfile] [arguments]
-0[octal]         specify record separator (, if no argument)
-a                autosplit mode with -n or -p (splits $_ into @F)
-C[number/list]   enables the listed Unicode features
-c                check syntax only (runs BEGIN and CHECK blocks)
-d[:debugger]     run program under debugger
-D[number/list]   set debugging flags (argument is a bit mask or alphabets)
-e program        one line of program (several -e's allowed, omit programfile)
-E program        like -e, but enables all optional features
-f                don't do $sitelib/sitecustomize.pl at startup
-F/pattern/       split() pattern for -a switch (//'s are optional)
-i[extension]     edit <> files in place (makes backup if extension supplied)
-Idirectory       specify @INC/#include directory (several -I's allowed)
-l[octal]         enable line ending processing, specifies line terminator
-[mM][-]module    execute "use/no module..." before executing program
-n                assume "while (<>) { ... }" loop around program
-p                assume loop like -n but print line also, like sed
-s                enable rudimentary parsing for switches after programfile
-S                look for programfile using PATH environment variable
-t                enable tainting warnings
-T                enable tainting checks
-u                dump core after parsing program
-U                allow unsafe operations
-v                print version, patchlevel and license
-V[:variable]     print configuration summary (or a single Config.pm variable)
-w                enable many useful warnings
-W                enable all warnings
-x[directory]     ignore text before #!perl line (optionally cd to directory)
-X                disable all warnings

运行"perldoc-perl"以获得有关perl的更多帮助。

最新更新