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


in reply to Re: comments and qw
in thread comments and qw

It might be useful to skip blank lines (or lines that just contain comments) like the real qw():

sub qwx { local $_ = @_ ? $_[0] : $_; s/[#].*$//mg; s/^\s+//; s/\s+$//; s/\s+/ /g; return split ' ', $text; }

Also, you could tweak the appearance of caller a little as follows:

my @items = qwx" this is # possibly a # commented list ";

Single quote won't work without a space before it.

Replies are listed 'Best First'.
Re^3: comments and qw
by rnahi (Curate) on Feb 12, 2006 at 20:32 UTC
    It might be useful to skip blank lines (or lines that just contain comments) like the real qw():
    That won't be necessary. split with a single space is a special case that splits on any number of whitespace, including newlines.

    Try it for yourself:

    #!/usr/bin/perl use strict; use warnings; use Data::Dumper; sub qwx { my ( $text ) = @_; $text =~ s/\s*[#].*$//mg; return split ' ', $text; } my @items = qwx" this is # possibly a # commented list # with stand-alone comments # and empty lines " ; print Dumper \@items; __END__ $VAR1 = [ 'this', 'is', 'a', 'list' ];
      ah yes, I forgot.