Это не просто "не самый оптимальный вариант", это просто жопа, а не вариант. Представь, из твоего варианта сделали функцию, и вставили её в cgi-шку, которая получает данные откуда-то и конвертирует их в нужную клиенту кодировку. На каждый чих звать iconv(1)??? А когда эту цгишку позовут 100 пользователей сразу?
2r_asian:
> Ну, согласный я, вариант не самый оптимальный, зато работает и выпить не просит :-)
Нет, твой вариант не работает _вообще_ :-(
Если бы ты использовал -w или use warnings, то увидел бы что-то типа:
Can't open bidirectional pipe at ./pipe.pl line 3.
Конструкция типа open(A, "|some_command|") просто не работает,
о чем недвусмысленно написано в perldoc -f open:
You are not allowed to "open" to a command that pipes both in and out,
but see IPC::Open2, IPC::Open3, and "Bidirectional Communication with
Another Process" in perlipc for alternatives.
> Ну вся, блин, пошел я пить йад и топитьса в Волге. :-((
Йад может немного подождать, а вот чтение perldoc perlipc тебе
явно срочно необходимо.
HTH
P.S. И пожалуйста - всегда use warnings и use strict
> P.S. И пожалуйста - всегда use warnings и use strict
Добавлю, всегда только про написании программы, и на стадии тестирования.
При ипользовании в работе эти две строчки лучше комментировать.
Потому что они жрут память немеренно.