Как добавить один пробел при печати массива в Perl - PullRequest
0 голосов
/ 07 марта 2020

У меня есть данные, которые я читаю и перезаписываю в perl. Моя perl печать указана ниже

  my @data = split ' ';         # put read data in an array
  print "@data\n";
  print OUT "@data\n";    # print data into the file

Данные записаны правильно, как показано ниже

AAXX 06064
67403 11480 70602 10195 20183 48521 60054 70322 82530 333 10298 20179 59012 82612 87360=
67413 NIL=
67441 12380 60000 10195 20186 48555 60014 83630 333 10260 29999 59999
83709 86360=
67461 12280 71208 10194 20186 48513 60724 84539 333 10274 20160 59006
84605 87360 91018=

Проблема заключается в том, что мне нужно обработать эти данные в Fortran. Fortran обычно пропускает первый столбец, поэтому чтение этих данных в Fortran приводит к потере первого символа. Я хотел бы иметь возможность добавить только один пробел в каждой строке. Все сообщения, которые я прочитал, говорят об удалении пробелов или добавлении пробелов, но не в начале. Я надеюсь, что то, чего я пытаюсь достичь, выполнимо, и я был бы признателен за помощь. Также мне интересно, почему первая строка данных заканчивается правильно (с =), но последующие строки переносятся.

1 Ответ

4 голосов
/ 07 марта 2020

. - оператор конкатенации (объединения строк).

print " " . join(" ", @data) . "\n";

Это также можно записать следующим образом:

print " @data\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...