免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 994 | 回复: 0
打印 上一主题 下一主题

perl 常用函数-3 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:54 |只看该作者 |倒序浏览
1、将一个文件的内容赋给一个标量

  1. #数组的每个元素对应文件的一行

  2. my @file_content = <FILE>;

  3. #第二种方式,使用File::Slurp
  4. my $filename = 'access_log';
  5. use File::Slurp;
  6. my @file_content = read_file($filename);
2、进程文件句柄

接受进程输出

  1. #接受进程输出

  2. #!/usr/bin/perl -w
  3. use strict;
  4. use File::Slurp;

  5. my $ls = 'ls -l';

  6. #通过管道将进程的输出给句柄
  7. open PH,"$ls |" or die "$!\n";

  8. my @dir_contents = <PH>;
  9. close PH or die "$!";

  10. #print $dir_contents[0];
  11. print "$_" for @dir_contents;
  12. close ($ls);
向进程句柄输入

  1. #!/usr/bin/perl -w
  2. use strict;
  3. use File::Slurp;

  4. my $log = 'mysql.out';
  5. open(*STDERR,">>$log");
  6. open(*STDOUT,">>$log");

  7. my $mysql = 'mysql -u root -pb7uoodi98on';
  8. open MYSQL,"| $mysql" or die "$!";

  9. select MYSQL;
  10. print 'show databases;';
  11. print 'use mysql;';
  12. print 'show tables;';
  13. close MYSQL or die "$!";


3、目录句柄

  1. #!/usr/bin/perl -w
  2. use strict;
  3. use File::Slurp;

  4. my $homedir = '/root/lab/perl';
  5. my $dh;

  6. opendir( $dh,$homedir ) or die "$!";

  7. while( my $curfile = readdir($dh) ) { #读取目录内容

  8.         #telldir给出目录句柄的当前字节位置
  9.         my $pos = telldir $dh;
  10.         #判断文件是目录还是常规文件
  11.         my $type = -d "$homedir/$curfile" ? 'directory' : 'file';
  12.         print "$type : $curfile pos $pos\n";

  13. }

  14. closedir( $dh );

  15. opendir( $dh,$homedir ) or die "$!";

  16. #过滤特定后缀
  17. my @perl = grep { /\.pl|\.PL|\.pem?$/i && -f "$homedir/$_" }
  18. readdir( $dh );
  19. closedir( $dh );

  20. print "perl code file: $_\n" for @perl;





您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP