如何在perl中使用read函数?



这是旧perl脚本的一部分,我挣扎。
变量$h突然在if内部定义,我不知道它是什么意思

#!/usr/bin/perl
use strict;
use warnings;
use Scalar::Util qw(looks_like_number);
if (open(LIST,"/proc/partitions"))
{
while (<LIST>)
{
my @a = split(/s+/); 
print "@an";
if (looks_like_number($a[3]) && $a[3] > 100000000)
{
if (open(IN, "/dev/$a[4]"))
{
my $h;
if (read(IN, $h, 4) == 4 && $h eq 'EFI')
{
print "/dev/$a[4]n";
}
close(IN);
}
}
}
}

它实际上是代码的一部分。

无论如何,它运行良好,但据我所知,没有保存到变量$h,只是定义。

是否与looks_like_number有关?

你能告诉我我错过了什么吗?

read函数写入:

读文件句柄,标量、长度

尝试从指定的FILEHANDLE中读取数据的LENGTH字符到变量SCALAR中。返回实际读取的字符数,文件末尾的0,如果有错误则返回undef(在后一种情况下还设置$!)。标量将被增长或收缩,以便实际读取的最后一个字符是该标量在读取后的最后一个字符。

相关内容

  • 没有找到相关文章

最新更新