あなたはデータが空白行でブロックで構成されていると思い
前回の操作の結果である変数$content
を持っているようにあなたがやることを望んでいるものを言うことはありませんが、それは見ていますブロック間、あなたは配列@arr
の各要素にブロックを置くために4文字のシーケンス\n\n
に分割しているので(配列@arr
を呼び出さないでください。@
は、それが配列だと言うと、それにarr
を追加します以下の文字は、あなたがデータの性質を説明する機会です。あなたの配列が含まれ、それは非常に貴重な機会です。私はあなたのデータが何を含んでいるのか分かりません。それは次の日曜日の日、または次の宝くじチケットの番号かもしれません。 @arr
は全く何も言う。)
実際にはブロック間の2つだけ改行文字がおそらくあるので、@arr
は$arr[0]
はあなたのコードの残りの部分は
のように見える単一の要素で
$content
の全体が含まれています
my $len = length @arr;
$len = $len/2;
my $b = round($len) - 1;
@arr
の要素の数に$len
が設定されていると思います。あなたはmy $len = @arr
と書いてください。何が書かれていることは、
全く別の何かを、あなたがそれラウンドに設定されたものは何でも$len
半減し、ソートをマージような何かをすることを目指しているようこれが探しているもの
を減算したいんそして、あなたは私が正しい場合は、$len
は今、整数または整数プラス0.5、およびPOSIX::round
はシンプルint
よりも良いではありません呼び出すのいずれかになります半分に配列を分割し、再帰的に それらを処理する必要があります
私は今や多くの推測をしており、続けるのは無意味です。あなたの全体的な目的を説明するならば、私たちはより良い
この '$ bの=はsprintf "%の.0f"、$のlen'を試してみてくださいと言いたいです。 – redneb
何が問題なのですか? '$ content'とは何ですか?あなたはどんな問題を抱えていますか? – Borodin
@Borodin $ contentは記事の内容です。私はそれを2つの新しい行に対して分割して渡します。奇妙なことは、私は新しいラインで私の分割が問題だと思います。 – jkushner