Eine bessere Lösung wären natürlich Pipes. Aber so "kompliziert" willst du es wohl nicht machen.
doch, so möchte ich es, geht ja darum etwas zu lernen.