Как мне уменьшить длину переменной до 20 символов в Perl? - PullRequest
0 голосов
/ 21 мая 2011

Обычно у меня есть очень длинные переменные, и мне нужны только первые несколько символов.

Я пытался использовать это регулярное выражение, но оно не работает.

$var =~ s/(^.{20})?/$1/g;

Это не таксделайте что-нибудь с этим.

Любая помощь будет оценена.

Ответы [ 3 ]

12 голосов
/ 21 мая 2011
$var = substr($var,0,20);

Обратите внимание, что проще:

substr($var,20) = '';

каркает, если строка меньше 20 символов.

Или с использованием подстановки (при условии 5,10 +):

$var =~ s/^.{20}\K.+//s;

или распаковка:

$var = unpack 'a20', $var;
3 голосов
/ 21 мая 2011
substr($var, 20) = "";

удаляет символы за пределами позиции 20 в $var.

2 голосов
/ 21 мая 2011

Это замена, которую вы, вероятно, имели в виду:

$var =~ s/^(.{20}).*/$1/;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...