Мне нужно отключить последние семь символов строки (строка, которая хранится в хеше). Каков самый простой способ сделать это в perl? Большое спасибо заранее!
Как удалить последние семь символов хеш-значения в Perl?
Ответ 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().