sprintf
の後ろの空白文字列を保持するために、空白文字(\0
)を区切り記号として使用しています。しかしヌル文字の文字列は、この場合はCurses
addstr
関数では機能しません。
この目的のために\0
を置き換えるのに適した文字はありますか?先頭の空白文字で文字列を区切るには、どのような文字が適していますか?
#!/usr/bin/env perl
use warnings;
use 5.12.0;
sub routine {
my @list = @_;
@list = map{ "\0".$_."\0"; } @list;
# ...
# ...
@list = map{ sprintf "%35.35s", $_ } @list;
# ...
# ...
my $result = $list[5];
$result =~ s/\A\s+\0//;
$result =~ s/\0\s+\z//;
return $result;
}
何まさにあなたがそのストリッピングされた空白をやっていますか? 'sprintf'? – TLP
あなたは 'sprintf'の代わりに[substr](http://perldoc.perl.org/functions/substr.html)を使うべきだと思います。 – cjm
これは[XY問題](http://www.perlmonks.org/?node=XY%20Problem)です。実際にやろうとしている「ルーチン」とは何ですか? – ikegami