努力小伙 发表于 2011-12-22 08:54

perl 常用函数-3

1、将一个文件的内容赋给一个标量<br><br><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li><span style="color:#000000;">#数组的每个元素对应文件的一行<br></span></li><li>
<br></li><li>
my @file_content <span style="color:#0000CC;">=</span> <span style="color:#0000CC;">&lt;</span><span style="color:#FF0000;">FILE</span><span style="color:#0000CC;">&gt;;</span><br></li><li>
<br></li><li>
#第二种方式,使用File<span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span>Slurp<br></li><li>my $filename = 'access_log';<br>
</li><li>use File::Slurp;<br></li><li>
my @file_content <span style="color:#0000CC;">=</span> read_file<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>filename<span style="color:#0000CC;">);</span></li></ol></div>2、进程文件句柄<br><br>接受进程输出<br><br><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li>#接受进程输出</li><li><br></li><li><span style="color:#000000;">#<span style="color:#0000CC;">!</span><span style="color:#0000CC;">/</span>usr<span style="color:#0000CC;">/</span>bin<span style="color:#0000CC;">/</span>perl <span style="color:#0000CC;">-</span>w<br></span></li><li>
use strict<span style="color:#0000CC;">;</span><br></li><li>
use <span style="color:#FF0000;">File</span><span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span>Slurp<span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
my $ls <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">'ls -l'</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
#通过管道将进程的输出给句柄<br></li><li>
open PH<span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"$ls |"</span> or die <span style="color:#FF00FF;">"$!\n"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
my @dir_contents <span style="color:#0000CC;">=</span> <span style="color:#0000CC;">&lt;</span>PH<span style="color:#0000CC;">&gt;</span><span style="color:#0000CC;">;</span><br></li><li>
close PH or die <span style="color:#FF00FF;">"$!"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
#print $dir_contents<span style="color:#0000CC;">[</span>0<span style="color:#0000CC;">]</span><span style="color:#0000CC;">;</span><br></li><li>
print <span style="color:#FF00FF;">"$_"</span> <span style="color:#FF0000;">for</span> @dir_contents<span style="color:#0000CC;">;</span><br></li><li>
close <span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>ls<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span></li></ol></div>向进程句柄输入<br><br><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li><span style="color:#000000;">#<span style="color:#0000CC;">!</span><span style="color:#0000CC;">/</span>usr<span style="color:#0000CC;">/</span>bin<span style="color:#0000CC;">/</span>perl <span style="color:#0000CC;">-</span>w<br></span></li><li>
use strict<span style="color:#0000CC;">;</span><br></li><li>
use <span style="color:#FF0000;">File</span><span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span>Slurp<span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
my $log <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">'mysql.out'</span><span style="color:#0000CC;">;</span><br></li><li>
open<span style="color:#0000CC;">(</span><span style="color:#0000CC;">*</span>STDERR<span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"&gt;&gt;$log"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
open<span style="color:#0000CC;">(</span><span style="color:#0000CC;">*</span>STDOUT<span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"&gt;&gt;$log"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
my $mysql <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">'mysql -u root -pb7uoodi98on'</span><span style="color:#0000CC;">;</span><br></li><li>
open MYSQL<span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"| $mysql"</span> or die <span style="color:#FF00FF;">"$!"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<span style="color:#0000FF;">select</span> MYSQL<span style="color:#0000CC;">;</span><br></li><li>
print <span style="color:#FF00FF;">'show databases;'</span><span style="color:#0000CC;">;</span><br></li><li>
print <span style="color:#FF00FF;">'use mysql;'</span><span style="color:#0000CC;">;</span><br></li><li>
print <span style="color:#FF00FF;">'show tables;'</span><span style="color:#0000CC;">;</span><br></li><li>
close MYSQL or die <span style="color:#FF00FF;">"$!"</span><span style="color:#0000CC;">;</span></li></ol></div><br><br>3、目录句柄<br><br><div id="codeText" class="codeText"><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li><span style="color:#000000;">#<span style="color:#0000CC;">!</span><span style="color:#0000CC;">/</span>usr<span style="color:#0000CC;">/</span>bin<span style="color:#0000CC;">/</span>perl <span style="color:#0000CC;">-</span>w<br></span></li><li>
use strict<span style="color:#0000CC;">;</span><br></li><li>
use <span style="color:#FF0000;">File</span><span style="color:#0000CC;">:</span><span style="color:#0000CC;">:</span>Slurp<span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
my $homedir <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">'/root/lab/perl'</span><span style="color:#0000CC;">;</span><br></li><li>
my $dh<span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
opendir<span style="color:#0000CC;">(</span> $dh<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>homedir <span style="color:#0000CC;">)</span> or die <span style="color:#FF00FF;">"$!"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
while<span style="color:#0000CC;">(</span> my $curfile <span style="color:#0000CC;">=</span> readdir<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>dh<span style="color:#0000CC;">)</span> <span style="color:#0000CC;">)</span> <span style="color:#0000CC;">{</span>#读取目录内容<br></li><li>
<br></li><li>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#telldir给出目录句柄的当前字节位置<br></li><li>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $pos <span style="color:#0000CC;">=</span> telldir $dh<span style="color:#0000CC;">;</span><br></li><li>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#判断文件是目录还是常规文件<br></li><li>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $<span style="color:#FF0000;">type</span> <span style="color:#0000CC;">=</span> <span style="color:#0000CC;">-</span>d <span style="color:#FF00FF;">"$homedir/$curfile"</span> <span style="color:#0000CC;">?</span> <span style="color:#FF00FF;">'directory'</span> <span style="color:#0000CC;">:</span> <span style="color:#FF00FF;">'file'</span><span style="color:#0000CC;">;</span><br></li><li>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print <span style="color:#FF00FF;">"$type : $curfile pos $pos\n"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
<br></li><li>
closedir<span style="color:#0000CC;">(</span> $dh <span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
opendir<span style="color:#0000CC;">(</span> $dh<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>homedir <span style="color:#0000CC;">)</span> or die <span style="color:#FF00FF;">"$!"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
#过滤特定后缀<br></li><li>
my @perl <span style="color:#0000CC;">=</span> grep <span style="color:#0000CC;">{</span> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">\</span><span style="color:#0000CC;">.</span>pl<span style="color:#0000CC;">|</span><span style="color:#0000CC;">\</span><span style="color:#0000CC;">.</span>PL<span style="color:#0000CC;">|</span><span style="color:#0000CC;">\</span><span style="color:#0000CC;">.</span>pem<span style="color:#0000CC;">?</span><span style="color:#0000CC;">$</span><span style="color:#0000CC;">/</span><span style="color:#0000FF;">i</span><span style="color:#0000CC;">&amp;</span><span style="color:#0000CC;">&amp;</span> <span style="color:#0000CC;">-</span>f <span style="color:#FF00FF;">"$homedir/$_"</span> <span style="color:#0000CC;">}</span><br></li><li>
readdir<span style="color:#0000CC;">(</span> $dh <span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
closedir<span style="color:#0000CC;">(</span> $dh <span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
print <span style="color:#FF00FF;">"perl code file: $_\n"</span> <span style="color:#FF0000;">for</span> @perl<span style="color:#0000CC;">;</span></li></ol></div><br><br><br><br><br>
页: [1]
查看完整版本: perl 常用函数-3