perl学习笔记十----命令行

 

命令行工具
debug可以帮助我们很好的review我们的代码。类似于VC中的
debug可以step by step的调试程序,同样可以设置断点。可以在debug
过程中改变某个变量的值。例如
DB<1> $a=5
另外如果想查看某个变量的值可以用print命令
DB<1>print $a

一 开始debug及相关的指令
perl -d script_name
如果你的脚本的语法或函数拼写没有错误的话就直接显示 
Loading DB routines from perl5db.pl version 1.0401#(你的版本号可能不一样) 
Emacs support available. 
Enter h or `h h` for help. 
main::(文件名:1):  ...............    #显示该脚本的第一行可执行代码 

DB<1>_   #表示在等待他的第一个命令 

其中1表示第一个debug指令,如果你再输入一个指令n数目就会自动加一。
DB<1> n
n表示next,表示程序运行下一步。
DB<2> l
l表示运行当前10行,再输入l则运行下一个10行。如果想从某特定行开始运
行输入如下命令
DB<3>l line_number 例如 DB<3>l 11
同样可以设置起始行和结束行,命令如下
DB<4>l start_no-end_no 例如 DB<4>l 10-15
程序运行的当前行由==>来表示

二 设置断点
设置断点的命令如下
DB<5>b line_no例如 DB<5>b 22
与其对应的另一个命令,就是继续执行程序到下一个断点或者程序的结束
DB<6>c
取消断点命令如下
DB<7>d line_no例如 DB<7>d 22
查看所有的断点
DB<8>L

三 其他指令
DB<9>R  重新启动程序

DB<10>q 退出debug程序

DB<11>s 单步执行你的程序,它可以执行函数,
然后在函数的第1个指令处停止运行 

四 其他perl命令行
perl -c 由此检查所有语法错误。每次修改 perl 程序之后我都
会立刻使用它来找到任何语法错误。
     -W 与#!user/bin/perl -w作用相同,后者应用比前者要好
     -T 它让 perl 出于了 taint 模式中。在这个模式里,Perl 
      会质疑任何程序外传来的数据。
     -e 可以让 Perl 代码在命令行上被编译器直接执行.例如:
      perl -e print "execute perl diretly";
     -v 若要了解更加详细的信息,比如该解释程序是如何创建的,
      何时创建的.
     -n 可用于将任何- e语句封装在该小程序中
      while(<>)
      {
      }
      例如:perl -n -c 's/^/s+//g; print $_' file1
      名字为file1的文件被打开,并被赋予while循环中的$ _,
      while(<>)
      {
      s/^/s+//g;
      print $_
      }
     
     -p 与-n作用相同,只是自动写入另一个文件
      例如:perl -p -c 's/^/s+//g; print $_' file1>file2

你可能感兴趣的:(perl学习笔记十----命令行)