Обычно у меня есть очень длинные переменные, и мне нужны только первые несколько символов.
Я пытался использовать это регулярное выражение, но оно не работает.
$var =~ s/(^.{20})?/$1/g;
Это не таксделайте что-нибудь с этим.
Любая помощь будет оценена.
$var = substr($var,0,20);
Обратите внимание, что проще:
substr($var,20) = '';
каркает, если строка меньше 20 символов.
Или с использованием подстановки (при условии 5,10 +):
$var =~ s/^.{20}\K.+//s;
или распаковка:
$var = unpack 'a20', $var;
substr($var, 20) = "";
удаляет символы за пределами позиции 20 в $var.
$var
Это замена, которую вы, вероятно, имели в виду:
$var =~ s/^(.{20}).*/$1/;