- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 440 megtekintés
Hozzászólások
Adott esetben megszórhatjuk debugkiírásokkal, illetve tesztelhetjük, mit csinál a "file-handle forkolás".
kód:
print "\nTesting UTF-8 with \"double fork\"\n";
open(my $duped, '>&', STDOUT);
binmode $duped, ":encoding(UTF-8)";
open(my $dup2, '>&', $duped);
eredmény:
Testing UTF-8 with "double fork"
STDOUT layers:
Input: unix-201200 perlio-c81200
Output: unix-201200 perlio-c81200
duped layers:
Input: unix-201200 perlio-c81200 encoding(utf-8-strict)-c89200
Output: unix-201200 perlio-c81200 encoding(utf-8-strict)-c89200
dup2 layers:
Input: unix-201200 perlio-c81200 encoding(utf-8-strict)-c89200
Output: unix-201200 perlio-c81200
Ilyesmi flag-ek vannak:
#define PERLIO_F_CANWRITE 0x00000200
#define PERLIO_F_TRUNCATE 0x00001000
#define PERLIO_F_UTF8 0x00008000
#define PERLIO_F_OPEN 0x00200000
#define PERLIO_F_FASTGETS 0x00400000
#define PERLIO_F_TTY 0x00800000
- A hozzászóláshoz be kell jelentkezni
Akkor most azt mondanám, hogy az 'input-layer-ek' között öröklődik az encoding(utf-8-strict)
opció, az output-layereknél meg nem. Mivel itt output-ról van szó, ez fontos lehet.
- A hozzászóláshoz be kell jelentkezni
Csemege
- print "$msg" if $msg && $msg != "";
+ print $msg if $msg && $msg ne "";
Troll ha lennék, meg a Yoda-beszédet is fixálnám. (Tudom, perlism.)
if ($msg && $msg ne "") { print $msg: }
- A hozzászóláshoz be kell jelentkezni
Sőt:
if ($msg) { print $msg; }
- A hozzászóláshoz be kell jelentkezni
Layerek debuggolásához: https://github.com/lzsiga/hello-world/blob/master/get_io_layers.pl
- A hozzászóláshoz be kell jelentkezni