Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Помогите найти ошибку в трёх строках (perl)

Ответить
Настройки темы
Помогите найти ошибку в трёх строках (perl)

Аватара для Guest

Guest



Профиль | Цитировать


Только что засел за perl, никак не пойму, что не так в следующем коде:
Код: Выделить весь код
#!/usr/bin/perl -w

use strict;

my $str1 = "Строка 1\n";
my $str2 = "старое значение\n";

print $str1, $str2;

$str2 = "новое значение";

print $str2;
Новое значение, не выводится! И вообще, программа как будто заканчивает работу после (или перед) присваиванием нового значения. Знаю, что ошибка глупая, но не вижу её. Помогите, пожалуйста.

Отправлено: 21:06, 29-06-2004

 

Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


может потому что переменная должна быть строго латинского регистра - без цифр?

Отправлено: 21:58, 29-06-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 185
Благодарности: 1

Профиль | Отправить PM | Цитировать


возможно, стоит попробовать
Код: Выделить весь код
 
$str2 = "новое значение\n";

-------
I like to move it, move it.


Отправлено: 22:15, 29-06-2004 | #3


Аватара для nogod

Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


у меня работает.
может  некорректно работает сам интерпретатор.
никаких синтаксических/логических ошибок нет.

Отправлено: 00:28, 30-06-2004 | #4

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Может быть все дело в разных интрепритаторах и (может быть) в строчке
Код: Выделить весь код
use strict;
?
Еще можно попробовать:
Код: Выделить весь код
#!/usr/bin/perl -w
use strict;
#сначала объявляем
my $str1;
my $str2;
# а потом присваиваем что хотим
$str1= "string 1\n";
$str2 = "old value\n";
print $str1, $str2;
$str2 = "new value\n";
print $str2;
А какая у Вас система и Perl, Guest?


[s]Исправлено: mar, 0:59 30-06-2004[/s]

Отправлено: 00:53, 30-06-2004 | #5


Аватара для Guest

Guest


Профиль | Цитировать


DAnG
Я сильно удивлён, но "Новое значение\n" выводится. Но мне не нужен конец строки в str2.

mar
Slackware 9.1, perl 5.8.0
Я пробовал сначала объявлять, а потом присваивать - то же самое.
Но я обнаружил ещё один момент: вместо строки $str2 использовал целое число. Точно так же менял его значение (10 на 9) и опять не выводится!
Вот это не работает:
Код: Выделить весь код
print $i
А вот так всё нормально:
Код: Выделить весь код
print $i, $str1;



Отправлено: 07:53, 30-06-2004 | #6


Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


потомучто точки с запятой нет.

echo $i;

Добавлено:

print $i;
т.е......

Отправлено: 10:01, 30-06-2004 | #7


Старожил


Сообщения: 185
Благодарности: 1

Профиль | Отправить PM | Цитировать


Slackware 9.1 - не пробовал, но возможно, шелл затирает последнюю строку после завершения программы

последней строкой программы сделайте грубый ВК
print "\n";

-------
I like to move it, move it.


Отправлено: 11:15, 30-06-2004 | #8


Аватара для Guest

Guest


Профиль | Цитировать


DAnG
Видимо как раз так и обстоит дело с zsh, т.к. попробовал запустить то же самое, сменив оболочку на bash, и всё заработало. Спасибо за помощь.


Отправлено: 12:29, 30-06-2004 | #9

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Guest
тебе и DAnG спасибо, мне в голову не приходило - всегда пользуюсь bash



Отправлено: 12:57, 30-06-2004 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Помогите найти ошибку в трёх строках (perl)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помогите найти ошибку в скрипте Anarasius AutoIt 4 03-01-2010 21:38
CMD/BAT - [решено] Помогите найти ошибку ofcoss Скриптовые языки администрирования Windows 7 21-07-2009 17:40
Помогите найти ошибку PHP + MySQL darksmoke Вебмастеру 3 26-11-2008 19:51
C/C++ - Помогите найти ошибку KEKS-KEKS Программирование и базы данных 9 01-11-2007 20:30
Помогите найти ошибку в массиве bezumes Программирование и базы данных 5 28-03-2006 17:25




 
Переход