Мне нужно получить только название этих песен из текстового файла, который имеет всю свою информацию. Текстовый файл выглядит следующим образом.Изменить элемент в массиве. Удаление части элемента в массиве. Perl
TRMMCAU128F9332597<SEP>SOEEWIZ12AB0182B09<SEP>YGGDRASIL<SEP>Beyond the Borders of Sanity
TRMMCCS12903CBEA4A<SEP>SOARHKB12AB0189EEA<SEP>Illegal Substance<SEP>Microphone Check
Так название было бы «за пределами Sanity» и «Микрофон Check»
Я не могу понять, как удалить все, что материал перед ним. Вот код, я до сих пор:
# Checks for the argument, fail if none given
if(songs.txt != 0) {
print STDERR "You must specify the file name as the argument.\n";
exit 4;
}
# Opens the file and assign it to handle INFILE
open(INFILE, 'songs.txt') or die "Cannot open songs.txt: $!.\n";
@data = <INFILE>;
my @lines = map {$_ =~ /^T/ ? ($_ => 1) :()} @data;
# This loops through each line of the file
#while($line = <INFILE>) {
#chomp;
# print $line;
# print @data;
#}
# Close the file handle
close INFILE;
print @lines;
Он выводит это:
1TRMMCAU128F9332597<SEP>SOEEWIZ12AB0182B09<SEP>YGGDRASIL<SEP>Beyond the Borders of Sanity1
Я понимаю, Dont 1 в ничего я просто играл с ним. Любая помощь приветствуется. Благодарю.
Поскольку странный текст, который предшествует требуемым данным, имеет переменную длину, вам нужно будет объяснить правила, необходимые для распознавания конца этого текста. Остальное будет легко. – Gene
Вы должны сообщить нам, как вы знаете, где заканчивается «материал» и начинается название песни. – toolic
Действительно ли '' буквально в файле или это ваша мета-нотация для какого-либо другого разделителя? –