2012-03-20 2 views
0

sprintfの後ろの空白文字列を保持するために、空白文字(\0)を区切り記号として使用しています。しかしヌル文字の文字列は、この場合はCursesaddstr関数では機能しません。
この目的のために\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; 
} 
+4

何まさにあなたがそのストリッピングされた空白をやっていますか? 'sprintf'? – TLP

+0

あなたは 'sprintf'の代わりに[substr](http://perldoc.perl.org/functions/substr.html)を使うべきだと思います。 – cjm

+1

これは[XY問題](http://www.perlmonks.org/?node=XY%20Problem)です。実際にやろうとしている「ルーチン」とは何ですか? – ikegami

答えて

関連する問題