LINUX.ORG.RU

ну, например,

print join "<br>" => @{[split /\n/ => $txt]}[5 .. 10]

тут "=>" заменяет ",".

А тут где то работа с объектом типа хеш:

#!/usr/bin/perl

%h=("1"=>"2","3"=>"4");

map {print "$_ => ",$h{$_},"\n"} sort {$a <=> $b} keys %h;

Т.е. ключу delete_event ставится в соответствие подпрограмма \&delete_event и это соответствие функция signal_connect воспринимает как хеш.

если я правильно, конечно, понимаю всю эту байду ООП...

vilfred ☆☆
()


Выдержка из perldoc perlop:
...
The "=>" operator is a synonym for the comma, but forces any word
to its left to be interpreted as a string (as of 5.001). It is
helpful in documenting the correspondence between keys and values
in hashes, and other paired elements in lists.
...

Так что или выпей йаду или читай документацию.

anonymous
()
Ответ на: комментарий от vilfred

т.е. функции join, push, split и м.б. еще какие-то запятые едят как хеши, т.е. запятая, иногда, воспринимается как хешевый разделитель. Имхо, это особенноть интерпретатора. Ну, так фукция signal_connect устроена, либо испускаешь дефолтный сигнал, либо переопределяешь сигнал подпрограммой. Это реально удобно, по сигналу выполнять функцию, действий два - потому хеш юзается.

$SIG{INT}= sub{die "timeout"};

только т.к. это gtk-прога(или tk), то там собственные сигналы, это все как-то взаимодействует с иксовыми сигналаими. Т.е. там много всего.

vilfred ☆☆
()
Ответ на: комментарий от vilfred

У как все запущено... Бегом в camel book!
ВСЕГДА `=>' является синонимом запятой.

zulu@shaka:~$ perl -e 'print "1" => "2" => "\n"'
12

Zulu ★★☆☆
()
Ответ на: комментарий от Zulu

2Zulu:
> У как все запущено... Бегом в camel book!
> ВСЕГДА `=>' является синонимом запятой.
>
> zulu@shaka:~$ perl -e 'print "1" => "2" => "\n"'
> 12

Тебе бы тоже к Camel Book заглянуть.
Все-таки => отличается от запятой тем,
как интерпретируется левый аргумент.
Почувствуйте разницу, например:


$ perl -w -e 'print A => B => C => "\n"'
ABC

$ perl -w -e 'print A , B , C , "\n"'
No comma allowed after filehandle at -e line 1.

Или еще:

$ perl -w -e 'use strict; my %h = (Key => "Value"); print %h, "\n"'
KeyValue
$ perl -w -e 'use strict; my %h = (Key , "Value"); print %h, "\n"'
Bareword "Key" not allowed while "strict subs" in use at -e line 1.
Execution of -e aborted due to compilation errors.

Читайте доки - они рулят !

anonymous
()
Ответ на: комментарий от anonymous

Zulu даже тут не смог посты прочитать.
раньше уже была выдержка из доки, где указывалось на различие запятой и =>

так что ему доки не помогут. только смена профессии.

anonymous
()
Ответ на: комментарий от anonymous

Ага.
Режим "без анонимных комментариев" рулит. Только сейчас попросил показать всех...

Zulu ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.