Вы можете использовать готовое решение из Apache Commons . Вот пример:
StringBuilder sb = new StringBuilder(" 111 11 ");
String trimmedString = StringUtils.normalizeSpace(sb.toString());
String[] trimmedAr = trimmedString.split(" ");
System.out.println(Arrays.toString(trimmedAr));
Вывод: [111, 11]
.
use Scalar::Util qw(blessed);
if( blessed($obj) and $obj->can('some_method') ){
}
"может" здесь быть методом, наследованным всеми классами от UNIVERSAL. Классы могут переопределить этот метод, но не хорошая идея.
Кроме того, "может" возвращать ссылку на функцию, таким образом, можно сделать:
$foo->can('some_method')->( $foo , @args );
или
my $sub = $foo->can('some_method');
$foo->$sub( @args );
Отредактируйте Обновленный Цепочечный Синтаксис благодаря Brian Phillips