sprintf
뒤에 공백을 선도하는 문자열을 유지하기 위해 구분 기호로 null 문자 (\0
)를 사용하고 있습니다. 그러나 null 문자가있는 문자열은 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