Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391090
  • 博文数量: 117
  • 博客积分: 4416
  • 博客等级: 上校
  • 技术积分: 1135
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 14:16
个人简介

一生醉生忘死,就让他继续下去吧!

文章分类

全部博文(117)

分类: LINUX

2011-04-29 09:17:31

1.2010-04-18  format 输出
  format STDOUT=
  @|||||                  ################$name居中对齐在5个字符内
  $name
 
  @<<<<<                  ################$word左对齐在5个字符内
  $word
 
  @>>>>>                  ###############右对齐
 
  @<<<<<< @<< @>>>>>>>>>>>
  $town,$street,$state 
  .                       ##########点号表示格式结束
 
  $town='aa';
  $street='bb';
  $state='cc';
  write();                ##########输出标识
 
 
 
2、 1 #!/usr/bin/perl -w
   2 open "FILE","b.txt" or die "can't open b\.txt";
   3 while () {
   4 if ($_=~/(\d{3}\.\d{3}\.\d \.\d )/){  ####过滤出ip地址,
   5 print "$1\n";
   6 }
   7 }

3、#!/usr/bin/perl
#use LWP::Simple;
use Color::Output;
Color::Output::Init;
system("clear");
open FILE,">file";
for $i (1..50) {
printf FILE ("%02d %s",$i,"\n");
}
close FILE;
open MO,"while () {
        if ($_=~/(\d{2})/) {
#printf "%${1}s %s",$1,"\n";
cprint("\x035 $1");         ============如何引入变量
}
}
close MO;


4、改变大小写
#!/usr/bin/perl
open (FIN,"open (FOUT,"|tr '[a-z]' '[A-Z]' 1>out 2>&1");
while () {
    if ($_=~/print/) {
            print FOUT "$_";
    }
}

5、数组的两种形式
    my @array=(1,3,4);      =====>前面加逗号
    my @array=qw(1 3 4);    =====>用qw不加逗号
 
6、my $count=()=$a=~ m/ab/g;    =====>正则匹配个数

7、
#!/usr/bin/perl
my @words;
open FH,"while () {
        if (/\$url/..eof)======>between $url and END
        {
                push @words,$_;
        }
}
print "\@words======>@words";
8、随机生成ip
join ".", map int rand 256, 1 .. 4
 
9、ref操作符
   ref($a)表达式得出的值:
            ARRAY
            HASH
            CODE
            REF
            GLOB
            LVALUE
 
 
10、input regular
#!/usr/bin/perl
print "Please input regular expr:\n";
$regx=;
chomp($regx);
opendir $dh,"/home/jwq/Desktop/ANSIColor-3.00";
@h=readdir $dh;
for (@h) {
        if (/$regx/) {
        print "$_\n";
        }
}
 
 
11、Perl调用其他程序方法

1. system(”command”); 

使用该命令将开启一个子进程执行引号中的命令,父进程将等待子进程结束并继续执行下面的代码。

2. exec(”command”); 
效果同system命令类似,区别是不会开启子进程,而是取代父进程,因此执行完引号中的命令后进程即结束。一般和fork配合使用。

3. `command`; 
使用反引号调用外部命令能够捕获其标准输出,并按行返回且每行结束处附带一个回车。反引号中的变量在编译时会被内插为其值。

4. open LIST “ls -l|”; 
open MORE “|more”; 
@list=; 
print MORE @list; 
close(LIST); 
close(MORE); 
使用带管道的文件句柄来执行外部命令,使用方式与读写文件类似。可以从外部命令的输出读取数据,也可以将数据输出到外部命令作为输入。

5. defined(my $pid=fork) or die “Can not fork: $!/n”; 
unless ($pid) { 
exec (”date”); 

waitpid ($pid,0); 
使用fork将会开启子进程与父进程同时执行之后的代码,其中父进程中fork会返回一个非零的数,而子进程中将返回零。 
上面的代码完成和system(”date”)相同的功能。比起system单纯地调用外部命令,fork可以完成更加复杂的进程操作。

12、用LWP::UserAgent访问路由器(未完成)

#!/usr/bin/perl
use LWP 6.02;
my $browser=LWP::UserAgent->new;
my $url="";
my $response=$browser->post($url,
                ['user_name' => 'danganj',
                 'password' => '30wish',
                 'lang' => "0",
                 ]
                );
#print $response->content_type;
print $response->content;
open File,">file";
print File $response->content;
#print $response->status_line;
#print $response->headers_as_string;

13、here文档

$a=<

HERE

阅读(1499) | 评论(1) | 转发(0) |
0

上一篇:Vimrc---my config

下一篇:安装mysql

给主人留下些什么吧!~~

cinanine2011-07-24 15:39:38

表态了。。。