http://qs1969.pair.com?node_id=1022482


in reply to Re^2: Find pieces of text in a file enclosed by `@` and replace the inside
in thread Find pieces of text in a file enclosed by `@` and replace the inside

That would have been useful information to have provided upfront. Perhaps you'd care to update your initial post with this limitation. You can still do the transliteration - this code produces the same output as my previous solution:

$ perl -Mstrict -Mwarnings -e ' binmode STDOUT => ":utf8"; my $subs = join q{} => map chr, 0x430, 0x431, 0x446, 0x410, 0x411, + 0x426; while (<>) { s/@([^@]+)@/"\$_ = \$1; y{abcABC}{$subs}; \$_"/eeg; print; } '

-- Ken

  • Comment on Re^3: Find pieces of text in a file enclosed by `@` and replace the inside
  • Download Code

Replies are listed 'Best First'.
Re^4: Find pieces of text in a file enclosed by `@` and replace the inside
by Anonymous Monk on Mar 11, 2013 at 10:01 UTC
    Hi Ken, tested your code, but got an error on the second word surrounded by '@'. Error: panic: sv_pos_b2u: bad byte offset at .....etc.

      I provided this as "a commandline example". It works fine with my computer. You stated, in response to my last post, that you have an issue with Cyrillic characters on your machine; however, you have neither updated your OP with this information nor addressed how you were planning to view the expected (Cyrillic) output. I am unable to reproduce the problem you're experiencing on your "sco-6 machine".

      -- Ken

        Hi Ken, you are right about not updating my OP. But I got your solution working now. My mistake. Thanks