NAME
Sisimai::String - String related class
SYNOPSIS
use Sisimai::String;my $s = '[email protected]';my $r = '[email protected]';my $t = time();print Sisimai::String->token($s, $r, $t); # 2d635de42a44c54b291dda00a93ac27bprint Sisimai::String->is_8bit(\'猫'); # 1print Sisimai::String->sweep(' neko cat ');# 'neko cat'print Sisimai::String->to_utf8('^[$BG-^[(B', 'iso-2022-jp'); # 猫print Sisimai::String->to_plain('<html>neko</html>'); # neko
DESCRIPTION
"Sisimai::String" provide utilities for dealing various strings
CLASS METHODS
"token(sender, recipient)"
token() method generates a "token": an unique string generated by the envelope sender address and the envelope recipient address.
my $s = '[email protected]';my $r = '[email protected]';print Sisimai::String->token($s, $r); # 2d635de42a44c54b291dda00a93ac27b
"is_8bit(Reference to String)"
is_8bit() method checks the argument include any 8bit character or not.
print Sisimai::String->is_8bit(\'cat'); # 0;print Sisimai::String->is_8bit(\'ねこ'); # 1;
"sweep(String)"
sweep() method clean the argument string up: remove trailing spaces, squeeze spaces.
print Sisimai::String->sweep(' cat neko '); # 'cat neko';print Sisimai::String->sweep(' nyaa !!'); # 'nyaa !!';
"aligned" method checks if each element of the 2nd argument is aligned in the 1st argument or not.
my $v = 'Final-Recipient: rfc822; <[email protected]>';print Sisimai::String->aligned(\$v, ['rfc822', '<', '@', '>']); # 1print Sisimai::String->aligned(\$v, [' <', '@', 'rfc822']); # 0print Sisimai::String->aligned(\$v, ['example', '@', 'neko']); # 0
"to_plain(Reference to String, [Loose Check])"
"to_plain" method converts given string as an HTML to the plain text.
my $v = '<html>neko</html>';print Sisimai::String->to_plain($v); # neko
"to_utf8(Reference to String, [Encoding])"
"to_utf8" method converts given string to UTF-8.
my $v = '^[$BG-^[(B'; # ISO-2022-JPprint Sisimai::String->to_utf8($v, 'iso-2022-jp'); # 猫
AUTHOR
azumakuniyuki
COPYRIGHT
Copyright (C) 2014-2016,2018,2019,2021-2024 azumakuniyuki, All rights reserved.
LICENSE
This software is distributed under The BSD 2-Clause License.