Ваш вопрос неоднозначен: вы хотите напечатать строки, которые не начинаются
с пробелом (ами) или распечатать все строки после удаления пробела (ов)?
@ codaddict показал, как это сделать. Я покажу, как сделать первое:
#!/usr/bin/perl
use strict;
use warnings;
open my $SARAN, '<', "first.txt"
or die "Can't open 'first.txt': $!";
while (my $line = <$SARAN>)
{
print $line unless $line =~ /^\s/;
}
close $SARAN;
Обратите внимание на следующее:
use
strict
поможет вам поймать
ошибки программирования.
use
warnings
предупредит вас
сомнительные конструкции.
- Файловые дескрипторы Bareword, такие как
SARAN
, являются глобальными пакетами. Используйте лексический
дескрипторы файлов.
- Предпочитать форму с тремя аргументами
open
, особенно если имя файла
не жестко закодировано.
- Включить имя файла в сообщение об ошибке.
- Так как вы не chomp ing
$line
, print "$line\n"
приведет к удвоению новой строки.