微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决-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 (\0,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 的更多帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。