【发布时间】:2019-11-07 16:52:56
【问题描述】:
下面是我的代码。我想在一行中打印数据 $1 和 $2 并用, 拆分它。为什么我不能打印数据?
#!/usr/intel/bin/perl
use strict;
use warnings;
use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
my $input = "par_disp_fabric.all_max_lowvcc_qor.rpt.gz";
my $output = "par_disp_fabric.all_max_lowvcc_qor.txt";
gunzip $input => $output
or die "gunzip failed: $GunzipError\n";
open (FILE, '<',"$output") or die "Cannot open $output\n";
while (<FILE>) {
my $line = $_;
chomp ($line);
if ($line =~ m/^\s+Timing Path Group \'(\S+)\'/) {
$line = $1;
if ($line =~ m/^\s+Levels of Logic:\s+(\S+)/) {
$line = $2;
}
}
print "$1,$2\n";
}
close (FILE);
【问题讨论】:
-
我已经修正了你代码的缩进。不客气,但请以后自己做。良好的缩进是使代码易于理解的最佳工具之一。如果你要让大量陌生人阅读和理解你的代码,那么让他们尽可能简单是礼貌的做法。
-
谢谢。 @DaveCross。抱歉,这是我的第一个 perl 脚本。
-
良好缩进的重要性并不是 Perl 独有的。如果您明智地缩进,您使用的几乎任何编程语言都会更容易阅读。