Thread Funktion sub write_log universal gestalten (8 answers)
Opened by Duff at 2008-08-01 18:11

MatthiasW
 2008-08-02 16:22
#113018 #113018
User since
2008-01-27
367 Artikel
BenutzerIn
[default_avatar]
Ein paar Beispiele, wie du die angepasste Subroutine write_log() verwenden kannst:
Code: (dl )
1
2
3
4
5
write_log( $id, $value );
write_log( $id, $format, @param );

write_log( 1, 'value' );
write_log( 2, "%-16s : %-120s\n", "Benutzername", "Genutze Quota's in %" );

Hast du tatsächlich einen String vorliegen, oder doch eine Liste?
Falls du eine Liste vorliegen hast, die das Format und die Parameter für dieses Format enthält (danach siehts nämlich aus), kannst du diese Liste einfach nach der $id an die Subroutine übergeben.
Hast du aber einen String von dem angegebenen Format vorliegen, so musst du diesen String erst einmal in die einzelnen Stücke zerlegen, das könnte folgendes Codestück erledigen:
Code: (dl )
1
2
3
my $str = q{("%-16s : %-120s\n", "Benutzername", "Genutze Quota's in %")};
$str =~ s/\\n/\n/g; # ersetze \n durch newline
my @p = $str =~ /"((?:[^"]|\\")*)"/g; # hole die einzelnen Stücke

Der entstandene Array @p, kann dann einfach nach der $id an write_log() übergeben werden.

MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'

View full thread Funktion sub write_log universal gestalten