in reply to Why doesn't Perl default (more)

Why isn't push @a; equivalent to push @a,$_;

Likely because that could cause ambiguity whether my @x=(); push @y, @x; should push $_ or not.

Sure, in theory it's possible for the compiler to differentiate the two. But I doubt that'll get changed in Perl 5, where the focus is on backwards-compatibility.

randomly,it seems that sometimes good ole $_ works

When $_ works is generally well-documented for each function.