0

ファイル image1.hd にテキスト行があります

axial rotation:=0.880157

番号が欲しいです。コアperlを使用してこれを行います

open FILE, "<", "$Z_DIR/image1.hd" or die $!;
  while (<FILE>){
    if (/axial rotation:=(\S+)/)
      {
    $axial_rot = $1;
      }
  }
  close FILE;

=0.880157 の目的の出力を返します

他のいくつかのファイルと同様に行うため、1 つのライナーを好みます。以前に私はモジュール File::Slurp について学び、アサーションの背後にある肯定的な見方で次のことを試しました

my $axial_rot = read_file("$Z_DIR/image1.hd") =~ /(?<=axial rotation:=)\S+/

これは、正規表現に関係なく 1 を返します。後者の正規表現を変更して目的の出力を得るにはどうすればよいですか

4

2 に答える 2