Показать сообщение отдельно

  #509  
Старый 09.06.2008, 06:50
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
my $msg = <<EOF;
mapview.pl [OPTIONS]

Options:
--fields=path Path to the folder containing .fld files.
--maps=path Path to the folder containing map images.
--logs=path Path to the folder containing log files.

EOF
Это один из вариантов объявления строковой переменной $msg, так называемый heredoc. Все, что находится после
Код:
my $msg = <<EOF;
и до строки
Код:
EOF
является многострочной heredoc-строкой. Перл в таком случае не будет считать EOF признаком конца файла, как ты видимо, подумал. Это просто признак конца heredoc-строки. Вместо EOF может стоять любая последовательность символов.
Если непонятно объяснил, то вот тебе вариант строки в более привычной форме
Код:
my $msg = "mapview.pl [OPTIONS]\n"
  . "\n"
  . "Options:\n"
  . "--fields=path Path to the folder containing .fld files.\n"
  . "--maps=path Path to the folder containing map images.\n"
  . "--logs=path Path to the folder containing log files.\n";
или
Код:
my $msg = "mapview.pl [OPTIONS]\n\nOptions:\n--fields=path Path to the folder containing .fld files.\n--maps=path Path to the folder containing map images.\n--logs=path Path to the folder containing log files.\n";
Согласись, что heredoc-вариант более предпочтителен с точки зрения читабельности кода.
Если все равно непонятно, учи перл, юзай гугл.

ЗЫ. Такой вариант объявления строк есть и в PHP
 
Ответить с цитированием