Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
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
Replies are listed 'Best First'.
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 studying the Monastery: (12)
As of 2015-07-29 22:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (269 votes), past polls