http://www.perlmonks.org?node_id=515415


in reply to What one-liners do people actually use?

perl -e 'print length $ARGV[0]' some-string

Replies are listed 'Best First'.
Re^2: What one-liners do people actually use?
by Perl Mouse (Chaplain) on Dec 09, 2005 at 00:11 UTC
    That's just the same as
    echo 'some-string' | wc -c
    isn't?
    Perl --((8:>*

      Practically, speaking, yes. Literally, however, no. It's more like:

      length_of() { echo $1 | wc -c } length_of some-string
      The only time this is important is if some-string has spaces, wildcards, etc. You put single quotes around the string, which would prevent any of this from happening, while the OP didn't use quotes, thus shell metacharacters would be expanded.

      That said, I'm betting that the OP wasn't counting on any of this, and that your shell code gets closer to what the OP really wanted anyway.

      Also, the OP's code does work on Windows while yours, well, doesn't, unless you install the Cygwin tools or something. ;-) Not sure if that's important to parv or not.

      Yes, that it is & whole lot shorter, not to mention i need to press Shift only once not 4+ times. It's just that i have not used wc quite enough or fail to remember about its -c option to count the bytes.