Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: How to split

by Anonymous Monk
on Sep 13, 2012 at 05:44 UTC ( #993369=note: print w/ replies, xml ) Need Help??


in reply to How to split

Please help me in this... Say my code is as follows:...

FWIW, when we talk about "code" we usually mean "source code" as in "perl program", not about the data

Here is a start, run with it

#!/usr/bin/perl -- use strict; use warnings; my $blah = ' VAR DS 0D DC AL1(045),AL2(286),AL2(117),AL2(290)'; my ( $top, $bottom ) = split /[\r\n]+/, $blah; print "$top\n"; my( $prefix, @biscuits ) = grep length, split /[\s,]+/, $bottom; for my $tack ( @biscuits ){ print "$prefix $tack\n"; } __END__ VAR DS 0D DC AL1(045) DC AL2(286) DC AL2(117) DC AL2(290)


Comment on Re: How to split
Download Code
Re^2: How to split
by Anonymous Monk on Sep 13, 2012 at 07:58 UTC

    Adventures in regular expressions

    #!/usr/bin/perl -- use strict; use warnings; use Data::Dump; my $blah = ' VAR DS 0D DC AL1(045),AL2(286),AL2(117),AL2(290)'; my ( $top, $bottom ) = split /[\r\n]+/, $blah; print "$top\n"; #~ my( $prefix, @biscuits ) = grep length, split /[\s,]+/, $bottom; my( $prefix, @biscuits ) = split /(?:(?<!^)\s+)|,/, $bottom; dd \$prefix, \@biscuits ; for my $tack ( @biscuits ){ print "$prefix $tack\n"; } __END__ $ perl shineon001 VAR DS 0D (\" ", ["DC", "AL1(045)", "AL2(286)", "AL2(117)", "AL2(290)"]) DC AL1(045) AL2(286) AL2(117) AL2(290)

      Adventures in regular expressions, part 2

      #!/usr/bin/perl -- use strict; use warnings; use Data::Dump; my $blah = ' VAR DS 0D DC AL1(045),AL2(286),AL2(117),AL2(290)'; my ( $top, $bottom ) = split /[\r\n]+/, $blah; print "$top\n"; #~ my( $prefix, @biscuits ) = grep length, split /[\s,]+/, $bottom; #~ my( $prefix, @biscuits ) = split /(?:(?<!^)\s+)|,/, $bottom; my( $prefix, @biscuits ) = split /(?:(?<!^)\b\s+)|,/, $bottom; dd \$prefix, \@biscuits ; for my $tack ( @biscuits ){ print "$prefix $tack\n"; } __END__ $ perl shineon002 VAR DS 0D ( \" DC", ["AL1(045)", "AL2(286)", "AL2(117)", "AL2(290)"], ) DC AL1(045) DC AL2(286) DC AL2(117) DC AL2(290)

        Adventures in regular expressions, part 4

        #!/usr/bin/perl -- use strict; use warnings; use Data::Dump; my $blah = ' VAR DS 0D DC AL1(045),AL2(286),AL2(117),AL2(290)'; my ( $top, $bottom ) = split /[\r\n]+/, $blah; print "$top\n"; #~ my( $prefix, @biscuits ) = grep length, split /[\s,]+/, $bottom; #~ my( $prefix, @biscuits ) = split /(?:(?<!^)\s+)|,/, $bottom; #~ my( $prefix, @biscuits ) = split /(?:(?<!^)\b\s+)|,/, $bottom; #~ my( $prefix, @biscuits ) = split /(?:(?<!\A)\b\s+)|,/, $bottom; my( $prefix, @biscuits ) = $bottom =~ /(^\s+\S+)|([^\s\(]+\([^\s\)]+\) +)/g; dd \$prefix, \@biscuits ; for my $tack ( @biscuits ){ print "$prefix $tack\n"; } __END__ $ perl shineon004 Use of uninitialized value $tack in concatenation (.) or string at shi +neon004 line 20. Use of uninitialized value $tack in concatenation (.) or string at shi +neon004 line 20. Use of uninitialized value $tack in concatenation (.) or string at shi +neon004 line 20. Use of uninitialized value $tack in concatenation (.) or string at shi +neon004 line 20. Use of uninitialized value $tack in concatenation (.) or string at shi +neon004 line 20. VAR DS 0D ( \" DC", [ undef, undef, "AL1(045)", undef, ",AL2(286)", undef, ",AL2(117)", undef, ",AL2(290)", ], ) DC DC DC AL1(045) DC DC ,AL2(286) DC DC ,AL2(117) DC DC ,AL2(290)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://993369]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2014-08-20 20:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (124 votes), past polls