ユーザー入力として合計行数を取得し、ファイルからそれらの行数を削除しています。
私はこのlearn.perl.org/faq/perlfaq5.html#How-do-I-count-the-number-of-lines-in-a-file-を見た後、以下の単純なロジックに飽きました。
論理:
- 行の総数を取得します
- ユーザーが入力した数値で減算します
- 行を印刷する
これが私のコードです:
#!/usr/bin/perl -w
use strict;
open IN, "<", "Delete_line.txt"
or die " Can not open the file $!";
open OUT, ">", "Update_delete_line.txt"
or die "Can not write in the file $!";
my ($total_line, $line, $number, $printed_line);
print"Enter the number of line to be delete\n";
$number = <STDIN>;
while ($line = <IN>) {
$total_line = $.; # Total number of line in the file
}
$printed_line = $total_line - $number;
while ($line = <IN>) {
print OUT $line unless $.== $printed_line;
}
さて、私はコードにも出力にもエラーが発生していませんか?なぜ私は知らないのですか。
誰かが私にいくつかの提案をすることができますか?