官术网_书友最值得收藏!

Sigils

One of the most difficult things for the newcomers to Perl are sigils. A sigil is a character in front of the name of variables in Perl that denotes the structural type of a variable. For example, $ for scalar values, @ for arrays, and % for hashes.

The problem arises when you access an element of an array or hash. Let's consider the following lines of code as an example in Perl 5 of an array with the first few Fibonacci numbers:

my @fibonacci = (0, 1, 1, 2, 3, 5, 8, 13);
print $fibonacci[4];

First, a @fibonacci array is created. The name of the variable includes the @ character as a sigil. In the second line, we access one of the elements of that array and use another sigil, $, this time. This is because a single element of an array is a scalar, and scalars use $ as a sigil. For those who learn Perl, this small change in sigils is a big problem in understanding the basics of the language.

In Perl 6, sigils are unified and are part of the variable names. You do not change it independently, whether you access an element of an array or an array as a whole. The preceding example will look like this in Perl 6:

my @fibonacci = (0, 1, 1, 2, 3, 5, 8, 13);
print @fibonacci[4];

In both lines, the same sigil is used for the @fibonacci array and for its @fibonacci[4] element. This approach is much more consistent and easier for a beginner.

主站蜘蛛池模板: 益阳市| 泰和县| 特克斯县| 大邑县| 东丽区| 新民市| 岐山县| 定兴县| 乌拉特中旗| 清新县| 奉节县| 萨迦县| 伊宁市| 连南| 兴义市| 南雄市| 晋城| 林周县| 广饶县| 新巴尔虎左旗| 阜平县| 德惠市| 修文县| 巴彦淖尔市| 碌曲县| 平潭县| 吉木乃县| 上饶县| 西城区| 霞浦县| 姚安县| 祁门县| 历史| 惠州市| 宕昌县| 太湖县| 财经| 新绛县| 吴堡县| 深泽县| 合肥市|