Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: Adding a TAB after a certain ammount of characters

by johngg (Abbot)
on Apr 17, 2013 at 11:15 UTC ( #1029120=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Adding a TAB after a certain ammount of characters
in thread Adding a TAB after a certain ammount of characters

Please show us your perl1.pl script inside <code> and </code> tags so we can see where you are going wrong. As for working on a multi-line file, calculate the offsets, open your file then do something like

while ( <$inputFH> ) { foreach my $offset ( reverse @cums[ 1 .. $#cums ] ) } substr $_, $offset, 0, q{-}; } print; }

I hope this moves you forward.

Update: Code modified to replace for statement modifier with an explicit loop, thanks choroba.

Cheers,

JohnGG


Comment on Re^4: Adding a TAB after a certain ammount of characters
Select or Download Code
Re^5: Adding a TAB after a certain ammount of characters
by biancoari (Initiate) on Apr 17, 2013 at 12:09 UTC

    Now the file looks like this perl1.pl script looks like this (after some modifications I did from reading the replies

    #!/usr/local/bin/perl perl -Mstrict -Mwarnings -E my $text = q{2013020400000000006810083610022013068100200220130688000200494}; my @offs = ( 17, 6, 31, 3, 3 ); my @cums = ( 0 ); push @cums, $_ + $cums[ -1 ] for @offs; substr $text, $_, 0, q{-} for reverse @cums[ 1 .. $#cums ]; say $text;

    And the reply I get from running the script is:

    biancoari@biancoari ~/Desktop $ perl perl1.pl
    syntax error at perl1.pl line 2, near "E
    my "
    Execution of perl1.pl aborted due to compilation errors.

    I will add the

    open(FILE, "filename.txt") or die "Could not open file: $!"

    and modify the text, any idea if I am heading the right direction?

      You need to remove the second line alltogether.

      perl -Mstrict -Mwarnings -E
      Replace the second line
      perl -Mstrict -Mwarnings -E
      which is for the shell with equivalent Perl lines:
      use strict; use warnings; use feature 'say';
      لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

        This is working GREAT!!!


        #!/usr/local/bin/perl use strict; use warnings; use feature 'say'; my $text = q{2013020400000000006810083610022013068100200220130688000200494}; my @offs = ( 17, 6, 31, 3, 3 ); my @cums = ( 0 ); push @cums, $_ + $cums[ -1 ] for @offs; substr $text, $_, 0, q{-} for reverse @cums[ 1 .. $#cums ]; say $text;

        Now what is need to do is to modify all the lines of the file, I know that I need to call the file, like this


         open(FILE, "file1.txt") or die "Could not open file: $!";

        Am I heading on the right direction?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (8)
As of 2014-10-01 07:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (389 votes), past polls