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

chomp and print join ',', grep $_, (map length, split /[a,]/), "\n" while <DATA>; __END__ a bug trapped inside a paper lantern, arid aflutter, ablaze

Replies are listed 'Best First'.
Re: a prime bug
by shmem (Chancellor) on Jun 11, 2017 at 11:41 UTC

    Nice. But __END__ should be __DATA__ and __END__ be -- well, at the end.

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
      I suppose, if you want to be formal about it.
      iirc, __END__ and __DATA__ are equivalent, and that's why the script runs. Please correct me if you know otherwise.

        Running a script - perl script.pl - the tokens make no difference. But if you invoke perl on the command line to read STDIN and paste the script, __END__ makes DATA into STDIN, and you have to type Ctrl-d to close STDIN/DATA. Not a big deal, but that's the difference ;-)

        perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
      All comments so far are awesome. I felt like the bug when i read it ... ;]