I have to agree. My threshold for using someone else’s code is way too high, I think, though; I probably need to work on changing that. For people like you and me, who are probably capable of writing most of the code we need ourselves, it’s often more “comfortable” writing it yourself. I’m not entirely sure, but I tend to read 100-line scripts carefully before considering using them sometimes, so… I know it must be similar for a lot of people.
For those who aren’t capable, finding helpful, pre-written functions/cmdlets is probably very nice. Writing this Merge-Csv cmdlet was painful enough for me not to want to do it over anytime soon, so I hope someone finds some use in it. I’m likely to use it myself later.
I skimmed through parts of the code of the PowerShell team’s Join-Object cmdlet and they have some filtering in place in the cmdlet ([ValidateSet("AllInLeft", "OnlyIfInBoth", "AllInBoth", "AllInRight")]). This seems to indicate they only support two files, and I just looked to see a “-Left” and “-Right” argument which further indicate this. I considered imposing that limitation, but aimed a bit higher. I made the number of CSV files arbitrary (you can have three or more) and made such filtering optional afterwards by just using Select-Object and property titles, as demonstrated briefly in the article. A bit less dynamic in that respect. Shrug. Design decisions are sometimes the hardest part.