Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 从目录中的多个文本文件中提取特定数据_Perl - Fatal编程技术网

Perl 从目录中的多个文本文件中提取特定数据

Perl 从目录中的多个文本文件中提取特定数据,perl,Perl,这是我用perl编写的第一个程序。 我有1000多个文件,我想从文件中提取特定数据。所有文件的结构都是相同的。 打开每个文件然后复制特定数据确实很困难 如何使用perl实现这一点 结构是这样的 LensMode=Normal MicronMarker=500 DataDisplayCombine=1 Voltage=0 Volt PixelSize=1.586612 我想从每个文件中提取Micromarker和PixelSize。 任何方向正确的帮助都将

这是我用perl编写的第一个程序。 我有1000多个文件,我想从文件中提取特定数据。所有文件的结构都是相同的。 打开每个文件然后复制特定数据确实很困难

如何使用perl实现这一点

结构是这样的

    LensMode=Normal
    MicronMarker=500
    DataDisplayCombine=1
    Voltage=0 Volt
    PixelSize=1.586612
我想从每个文件中提取Micromarker和PixelSize。 任何方向正确的帮助都将受到感谢

位置是D:\Files\Folder1

试试这个

使用
glob
读取目录

while (my $files = glob(" D:\Files\Folder1\*"))
{
    open my $handler,"<","$files";
    my @extract = grep{ m/^(MicronMarker|PixelSize)/g} <$handler>;  
    print @extract;
}
这是使用
grep

while (my $ech = readdir($dir))
{
    open my $handler,"<","test/$ech";
    my @extract = grep{ m/^(MicronMarker|PixelSize)/g} <$handler>;
    print @extract;
    close($handler);
}
while(my$ech=readdir($dir))
{

打开我的$handler,“提取这些值后,您想对它们做些什么看起来您自己并没有试图解决这个问题。如果您至少努力一点,而不仅仅是让人们为您提出整个解决方案,您通常会得到更好的反馈。
while (my $ech = readdir($dir))
{
    open my $handler,"<","test/$ech";
    my @extract = grep{ m/^(MicronMarker|PixelSize)/g} <$handler>;
    print @extract;
    close($handler);
}