From: Logan Capaldo Date: 2006-09-11T23:35:53+09:00 Subject: Re: heredoc with variable interpolation breaks script On Mon, Sep 11, 2006 at 06:20:34PM +0900, Oliver Heins wrote: > I have a somewhat weird problem: Since a few days (I recognized > yesterday) a script ceased to work which did perfectly before. I > stripped it down to a heredoc with string interpolation, which now > breaks the script. Here's a minimal example: > > #!/usr/bin/ruby > > var1 = "test" > var2 = < let us look #{test} > EOF > puts var2 You are calling the method "test" (which is a perlism, FYI) inside your HEREDOC. I'm pretty sure this was just a typo, and you meant to say #{var1}, not #{test}. > > Running this script, I get the following error: > > ,---- > | olli@athene:~/tmp$ ./test.rb > | ./test.rb:5:in `test': wrong number of arguments (ArgumentError) > | from ./test.rb:5 > | olli@athene:~/tmp$ ruby --version > | ruby 1.8.4 (2005-12-24) [i486-linux] > `---- > > I'm using ruby on a Debian unstable system. > > TIA, > olli > > -- > GnuPG-Key: http://www.sopos.org/pgp/olli.asc > GnuPG-Fingerprint: F27A BA8C 1CFB B905 65A8 2544 0F07 B675 9A00 D827 > NP: Nothing