Я не мог понять, что именно делает «W».Что именно «W» делает в функции распаковки в Perl?
my $x = "this is my string";
print unpack("W",substr($x,0,1));
Печать: 116
my $x = "this is my string";
print unpack("W",$x);
Еще Печатает: 116
Я не мог понять, что именно делает «W».Что именно «W» делает в функции распаковки в Perl?
my $x = "this is my string";
print unpack("W",substr($x,0,1));
Печать: 116
my $x = "this is my string";
print unpack("W",$x);
Еще Печатает: 116
От perldoc: W An unsigned char value (can be greater than 255).
Обе ваши примеры возвращают то же самое, потому что ваш распаковывать аргумент "W"
потребляет только один символ , Вместо этого попробуйте "W*"
.
Да. Вы правы, но почему 116? Значение ASCII «t» не относится. – Shubham
'ord 't' == 116' и' Код ASCII для капитала T равен 84, а для нижнего регистра - 116' - http://en.wikipedia.org/wiki/T –
Shubham: 'man ascii' работает над любая система unix. Это самый быстрый способ проверки шестнадцатеричных/восьмеричных/десятичных значений символов ascii. – Ether
Subham, все ваши ответы re: функции perl лежат за одной командой: «perldoc perlfunc» - чтение всего perldoc настоятельно рекомендуется; меня многому научили. – zen