文字列からサイズ値を抽出したい。文字列は、次の 2 つの方法のいずれかでフォーマットできます。
データサイズ: (2000 バイト)
また
ファイルのデータサイズ: (2082 バイト)
文字列がファイルに存在する場合、一度だけ表示されます。
これまでのところ、私は持っています:
#!/usr/bin/perl
use strict;
use warnings;
open FILE, "</tmp/test";
my $input = do { local $/; <FILE> };
my ($length) = $input =~ /(file)?\s*Data-Size: \((\d+) bytes\)/m;
$length or die "could not get data length\n";
print "length: $length\n";
問題は、単語ファイルをオプションにすることにあるようです。私はこれを行うことができると思いました:
(ファイル)?
しかし、単語ファイルが存在しない場合、これは一致を停止しているようです。また、ファイルという単語が存在する場合は、$length を文字列 "file" に設定します。これは、ファイルを囲む括弧も抽出を意味するためだと思います。
では、2 つの文字列のいずれかを照合してサイズ値を抽出するにはどうすればよいでしょうか。