Добавьте символ в начале строки и добавьте тот же символ в конце строки, используя perl
Я практиковался в Perl и нашел это в Песочнице.
Как написать Perl-скрипт, который добавляет -> в начало и <- в конец каждой строки. Затем он сообщает количество строк, длину самой длинной строки и общее количество байтов в исходном вводе. Например, входной файл
//Input File
Hi there.
This is Fred.
Who are you?
Должен производить вывод:
//Output File
->Hi there.<-
->This is Fred.<-
->Who are you?<-
3 lines, longest 13 characters, 37 bytes total.
Я могу добавить -> только в начале строки с этим кодом:
#!/usr/bin/perl
use strict;
use warnings;
open(FH,"input.pl") or die "cannot open file: $!\n"; #Input File
open(NEWFH,"> output.pl") or die "cannot write\n"; #Output File
print "opened file\n";
while(<FH>){
print NEWFH "-> $_ ";
}
close FH;
close NEWFH;
Не могли бы вы помочь мне добавить "->" в конце строки
2 ответа
Просто добавьте его после строки таким же образом, добавив в конец напечатанной строки:
chomp; # Strip off newline character
print NEWFH "-> $_ <-\n"; # Add newline ay the end
Что касается самой длинной строки и общего количества: вы можете использовать 2 переменные, чтобы сохранить текущую максимальную длину и текущую сумму, и рассчитать их с помощью length
функция. Оставьте третью переменную для количества строк.
В качестве упражнения вы можете взять эти строки и понять, как они работают:
perl -pe 's/^/->/; s/$/<-/;' input.txt
perl -ple '$_ = "->$_<-";' input.txt
Для более подробной версии вы добавляете -MO=Deparse
переключатель.
Рекомендуемое чтение:
- http://perldoc.perl.org/perlop.html
- http://perldoc.perl.org/perlre.html
- http://perldoc.perl.org/perlrun.html (или
perl -h
, для параметров командной строки)