in reply to Need help parsing ambiguously formatted data

Why not change $\ (or is it $/ ... I mix them up) to be *, so that instead of Perl reading a line as terminated by \n, it reads it terminated by *. Then, you remove the \n and print it back out ...

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

  • Comment on Re: Need help parsing ambiguously formatted data

Replies are listed 'Best First'.
Re^2: Need help parsing ambiguously formatted data
by Dismas (Acolyte) on Dec 01, 2004 at 21:04 UTC
    Thanks Dragonchild.

    But I mislead you--I get the data as an array--as I mention in my corrected post which should be appearing any minute now.

    Maybe I should think of revising how I read the data, redefining $/ (or $\) as you suggested....?

    Anyway, thanks for the thought--I'll look at it.

    Thanks again!

    Dismas

      my @records = map { $_ . ' *' } split /*/, join '', @messy_array; chop $records[-1];

      Presto!

      Update: ***Poof*** It's a dud. ;) See my update down below...


      Dave

        Presto!

        A syntax error! (and at least one semantic error ;-) yes, I know "caveat lector, all code is untested" etc.

      You could redefine how you read the data in. Or, you could
      sub rework_data { my $x = join '', @_ my $fh = IO::Scalar->new( \$x ); my @rebuilt_data; { local $\ = '*'; @rebuilt_data = <$fh>; } return @rebuilt_data; }

      I love treating arrays as filehandles. :-)

      (Oh, it's $\ ... I just remembered cause I keep writing print $foo, $/;, so it can't be that one. *grins*)

      Being right, does not endow the right to be rude; politeness costs nothing.
      Being unknowing, is not the same as being stupid.
      Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
      Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.