Подтвердить что ты не робот

Как удалить последние семь символов хеш-значения в Perl?

Мне нужно отключить последние семь символов строки (строка, которая хранится в хеше). Каков самый простой способ сделать это в perl? Большое спасибо заранее!

4b9b3361

Ответ 1

С substr():

substr($string, 0, -7);

Я предлагаю вам прочитать страницу Perldoc на substr() (которую я связал выше) перед тем, как просто скопировать и вставить это в свой код. Он делает то, что вы просили, но substr() - очень полезная и универсальная функция, и я предлагаю вам понять все, что вы можете использовать для нее (прочитав документацию).

Кроме того, в будущем, пожалуйста, рассмотрите вопрос Google (или, в случае Perl, глядя на Perldoc), прежде чем спрашивать его здесь. Вы можете найти большие ресурсы на таких вещах, не задавая здесь вопросов. Не подавать свой вопрос, но это довольно просто, и я думаю, что если бы вы попытались, вы могли бы найти ответ самостоятельно.

Ответ 2

Чтобы удалить последние 7 символов:

substr($str, -7) = '';

или несколько неэлегантный

substr($str, -7, length($str), '');

Чтобы получить все, кроме последних 7 символов:

substr($str, 0, -7)

Ответ 3

Используйте функцию perl substr, но сделайте аргумент "length" отрицательным. Пример:

#!/usr/bin/perl

my $string = "string";
$short = substr($string, 0, -3);
printf $short . "\n";

Это вернет строку "str" с новой строкой, поскольку мы указали усечение последних трех символов. Взгляните на документацию Perl на substr().