Perl вопрос
Я не специалист и перл видел только мельком, но по-моему, это как-то влияет на подстановку переменной $com - типа в двойных едёт замена на её значение, а в одинарных - нет.
а если совсем кавычек нету?
$com = fu ll;
$com ="fu ll";
Чуешь разницу?
вот короче че меня смутило
$com{"full"}="avi";
print "need is ", $com{"full"};
выдает все как надо
зато-
$com{"full"}="avi";
print "need is $com{"full"}";
нихрена не выдает
Правильно, и не будет.
$com="avi";
print "need is ", $com;
все ок!
и
$com="avi";
print "need is $com";
и оба работают прекрасно
ну обьясни плз
Однако вкладывать одинаковые кавычки, это надо суметь.
Короче, читать сообщения об ошибках и пользоваться ключом -w
А вот между "$com" и $com разница есть некоторая. Если ты заключил в кавычки, то туда будет подставлено её текстовое представление и если ты делаешь не print, а присваивание, то разница будет.
$com{"full"}="avi";
print "need is $com{"full"}";
тут ведь подставляет-
$com="avi";
print "need is $com";
print [need is $com{[full]}];
А получается
print [need is $com{]full[}];
PS. Ничего не смыслю в перле...
читать про операторы q, qq, qx. Двойные кавычки - частный случай оператора qq.
Не встречал такую ошибку?
просто мне казалось что если это переменная, то кавычки он воспринимать не будет....
странно...
на самом то деле я вот только начал изучать....по какой-то книге o'reily которая в сети валялась...
может там дальше все это написано...
сейчас прочту то, что Лео советует
Если в Перле не силен, пиши всегда "use strict" вначале программы -- сэкономит много сил на отладке.
Если в перле силен, то тоже пиши
Если прога зело длиннее этой строчки
Если прога короткая, то можно её в командной строке записать, после -e
Спасибо, знаю.
perldoc -f qq
у тебя ключ хеша в двойных кавычках и в двойных же кавычках принт, вот оно и посылает нафиг.
Оставить комментарий
Serge_S
а чем атличается наличме или отсутствие кавычекну например $com="full"
$com=full
print $com
print "$com"
в чем тут разница?
если одинарные кавычки-то там все тексом воспринимается вроде, а здесь что?