You could use a single pipe, with awk:
printf "Victor\nHugo\n" \
| awk '{a[NR]=$0} END {print NR; for(i=1;i<=NR;i++) if (a[i]~/^V/) print a[i];}'
It ain't pretty. And it's more memory-hungry the larger your input dataset. But it'll provide the output you expect.