Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: Iterator to parse multiline string with \\n terminator

by three18ti (Scribe)
on Oct 06, 2013 at 06:08 UTC ( #1057124=note: print w/replies, xml ) Need Help??


in reply to Re: Iterator to parse multiline string with \\n terminator
in thread Iterator to parse multiline string with \\n terminator

EDIT: Oh, I'm an idiot... for got to change:
$line .= $fh_iterator while $line =~ m{\\$};

To:

$line .= $fh->getline while $line =~ m{\\$};

However, the code does return the error below on the last line of my test file...

Use of uninitialized value $line in pattern match (m//) at parser3.pl +line 17, <GEN0> line 5.

Begin Original Post

Hmm... well, I get a new error at least:/p>

Use of uninitialized value $line in pattern match (m//) at parser3.pl +line 17, <GEN0> line 5.

Here's the accompanying code and test file:

#/usr/bin/perl use strict; use warnings; use IO::File; use 5.010; my $filename = shift @ARGV; my $fh = IO::File->new($filename, 'r'); sub fh_iterator { my $fh = shift; my $line = $fh->getline; $line .= fh_iterator($fh) while $line =~ m{\\$}; } while (my $line = fh_iterator $fh ) { print $line; } __END___ test.file foo \ bar \ baz single line

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1057124]
help
Chatterbox?
[Corion]: Meh. I think I have now the parts down that I want from a simple Javascript frontend for single-page- applications with a aPerl backend. But it seems that all Javascript templating modules either don't support two-way binding (which would be nice) or ...
[Corion]: ... don't support server-side precompilation (which means the client has to compile all templates to Javascript themselves), or are giant frameworks that expect to do everything (which is not what I want)
[Corion]: I feel that there is a talk somewhere in there, either about the structure and parts, or how I used several parts to get a complete whole.
[Corion]: Maybe I can still find something that is compatible with handlebars.js (which has JS precompilation) but allows for two-way data binding (which is great for the UI)
[Corion]: Two-way data binding means that if you change something in a text box, the corresponding variable in your Javascript gets updated immediately as well, and if you then change the variable, the corresponding text box also gets updated

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2017-03-30 07:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (355 votes). Check out past polls.