Перенаправление вывода с помощью plain> будет захватывать только STDOUT. Если вы также хотите поймать STDERR, используйте 2> и 1:
perl -e 'system("dir blablubblelel.txt >out.txt 2>&1");'
. Для получения дополнительной информации см. Perlmonks
Если вы хотите добавить методы к любому классу (в данном случае String
), без необходимости его исправления, вам следует рассмотреть возможность использования уточнений .
module StringRefinements
refine String do
def already_taken?
puts "yes!"
end
end
end
# in another file...
using StringRefinements
"Charlotte".already_taken?
Метод already_taken?
будет доступен только в области, которая вызывает using StringRefinements
, и больше нигде.