- 论坛徽章:
- 0
|
1、将一个文件的内容赋给一个标量
- #数组的每个元素对应文件的一行
-
-
my @file_content = <FILE>;
-
-
#第二种方式,使用File::Slurp
- my $filename = 'access_log';
- use File::Slurp;
-
my @file_content = read_file($filename);
2、进程文件句柄
接受进程输出
- #接受进程输出
- #!/usr/bin/perl -w
-
use strict;
-
use File::Slurp;
-
-
my $ls = 'ls -l';
-
-
#通过管道将进程的输出给句柄
-
open PH,"$ls |" or die "$!\n";
-
-
my @dir_contents = <PH>;
-
close PH or die "$!";
-
-
#print $dir_contents[0];
-
print "$_" for @dir_contents;
-
close ($ls);
向进程句柄输入
- #!/usr/bin/perl -w
-
use strict;
-
use File::Slurp;
-
-
my $log = 'mysql.out';
-
open(*STDERR,">>$log");
-
open(*STDOUT,">>$log");
-
-
my $mysql = 'mysql -u root -pb7uoodi98on';
-
open MYSQL,"| $mysql" or die "$!";
-
-
select MYSQL;
-
print 'show databases;';
-
print 'use mysql;';
-
print 'show tables;';
-
close MYSQL or die "$!";
3、目录句柄
- #!/usr/bin/perl -w
-
use strict;
-
use File::Slurp;
-
-
my $homedir = '/root/lab/perl';
-
my $dh;
-
-
opendir( $dh,$homedir ) or die "$!";
-
-
while( my $curfile = readdir($dh) ) { #读取目录内容
-
-
#telldir给出目录句柄的当前字节位置
-
my $pos = telldir $dh;
-
#判断文件是目录还是常规文件
-
my $type = -d "$homedir/$curfile" ? 'directory' : 'file';
-
print "$type : $curfile pos $pos\n";
-
-
}
-
-
closedir( $dh );
-
-
opendir( $dh,$homedir ) or die "$!";
-
-
#过滤特定后缀
-
my @perl = grep { /\.pl|\.PL|\.pem?$/i && -f "$homedir/$_" }
-
readdir( $dh );
-
closedir( $dh );
-
-
print "perl code file: $_\n" for @perl;
|
|