Chinaunix首页 | 论坛 | 博客
  • 博客访问: 281587
  • 博文数量: 179
  • 博客积分: 2995
  • 博客等级: 少校
  • 技术积分: 2100
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 10:21
文章分类

全部博文(179)

文章存档

2011年(1)

2010年(28)

2009年(150)

我的朋友

分类: LINUX

2010-01-14 11:15:47

-e:告诉perl在其后的命令行里查找运行代码。当然只能用于输入一行代码执行,如果要运行的代码不止一行,参数就变了。

xiafoei@linux:~/work> perl -e 'print "hello!\n";'

hello!

xiafoei@linux:~/work>

-:告诉perl在其后的命令行里查找运行代码,直到遇到__END__为止。

xiafoei@linux:~/work> perl -

print "hello\n";

print "world!";

__END__

hello

world!xiafoei@linux:~/work>

-c:用来检查脚本的语法而不执行它。

xiafoei@linux:~/work> cat t

#!/usr/bin/perl

print "hello";

xiafoei@linux:~/work> perl -c t

t syntax OK

xiafoei@linux:~/work>

-h:帮助选项,用来打印perl的全部选项信息。

xiafoei@linux:~/work> 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)

  -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

  -P              run program through C preprocessor before compilation

  -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, subversion (includes VERY IMPORTANT perl info)

  -V[:variable]   print configuration summary (or a single Config.pm variable)

  -w              enable many useful warnings (RECOMMENDED)

  -W              enable all warnings

  -x[directory]   strip off text before #!perl line and perhaps cd to directory

  -X              disable all warnings

xiafoei@linux:~/work>

-S:让perl使用PATH环境变量来搜索脚本。

xiafoei@linux:~/work> echo $PATH

/home/xk/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin

xiafoei@linux:~/work> cd ../bin/

xiafoei@linux:~/bin> ls

xiafoei@linux:~/bin> cat >test.pl<
> #!/usr/bin/perl

> print "hello\n";

> eof

xiafoei@linux:~/bin> chmod a+x test.pl

xiafoei@linux:~/bin> cd ../work

xiafoei@linux:~/work> perl -S test.pl

hello

xiafoei@linux:~/work>

-T:强制打开错误检查(数据安全性检查),经常用在CGI中。

 

-v:打印出perl的版本以及包的级别。

xiafoei@linux:~/work> perl -v

 

This is perl, v5.8.6 built for i586-linux-thread-multi

 

Copyright 1987-2004, Larry Wall

 

Perl may be copied only under the terms of either the Artistic License or the

GNU General Public License, which may be found in the Perl 5 source kit.

 

Complete documentation for Perl, including FAQ lists, should be found on

this system using `man perl' or `perldoc perl'.  If you have access to the

Internet, point your browser at the Perl Home Page.

 

xiafoei@linux:~/work>

-V:打印出perl的全部配置信息。

xiafoei@linux:~/work> perl -V

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:

  Platform:

    osname=linux, osvers=2.6.9, archname=i586-linux-thread-multi

    uname='linux salieri 2.6.9 #1 smp fri jan 14 15:41:33 utc 2005 i686 athlon i386 gnulinux '

    config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe'

    hint=recommended, useposix=true, d_sigaction=define

    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define

    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef

    use64bitint=undef use64bitall=undef uselongdouble=undef

    usemymalloc=n, bincompat5005=undef

  Compiler:

    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',

    optimize='-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe',

    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe'

    ccversion='', gccversion='3.3.5 20050117 (prerelease) (SUSE Linux)', gccosandvers=''

    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234

    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12

    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8

    alignbytes=4, prototype=define

  Linker and Libraries:

    ld='cc', ldflags =''

    libpth=/lib /usr/lib /usr/local/lib

    libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc

    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc

    libc=, so=so, useshrplib=true, libperl=libperl.so

    gnulibc_version='2.3.4'

  Dynamic Linking:

    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.6/i586-linux-thread-multi/CORE'

    cccdlflags='-fPIC', lddlflags='-shared'

 

 

Characteristics of this binary (from libperl):

  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT

  Built under linux

  Compiled at Mar 19 2005 17:34:48

  @INC:

    /usr/lib/perl5/5.8.6/i586-linux-thread-multi

    /usr/lib/perl5/5.8.6

    /usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi

    /usr/lib/perl5/site_perl/5.8.6

    /usr/lib/perl5/site_perl

    /usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi

    /usr/lib/perl5/vendor_perl/5.8.6

    /usr/lib/perl5/vendor_perl

    .

xiafoei@linux:~/work>

-V:name:打印出指定name的配置变量的配置信息。

xiafoei@linux:~/work> perl -V:osvers

osvers='2.6.9';

xiafoei@linux:~/work>

-w:显示警告信息。

[xiaofei@xiaofei]$ cat test.pl

#!/bin/perl

$text = "test";

$text += 1;

print $text;

[xiaofei@xiaofei]$ perl -w test.pl

Argument "test" isn't numeric in addition (+) at test.pl line 3.

1[xiaofei@xiaofei]$ perl test.pl

1[xiaofei@xiaofei]$

阅读(724) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~