Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

help for my tool...

by suno (Acolyte)
on Aug 22, 2012 at 14:41 UTC ( #989057=perlquestion: print w/ replies, xml ) Need Help??
suno has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I am working in a assembler tool ...my program is as follows:..

MAIN LR R1,R2 . . BALR R1,LABEL#1 L R1,VAR1, . . BAL R3,LABEL#2 . . EJECT LABEL#1 . . LABEL#2 . .

here what i want to do is, i have to split the program into many subroutines with BAL instuction as the split instuction... so my files will be like...

file1.... MAIN LR R1,R2 . . BALR R1,LABEL#1
file2... L R1,VAR1, . . BAL R3,LABEL#2
file3... . . EJECT
file4.LABEL#1... LABEL#1 . .
file5.LABEL#2... LABEL#2 . .
hope my question is clear....Can u please help me in this... and there may be n number of subroutines in my code.. i want the file names also to be generated automatically as FILE1,FILE2,..and so on...

Comment on help for my tool...
Select or Download Code
Replies are listed 'Best First'.
Re: help for my tool...
by moritz (Cardinal) on Aug 22, 2012 at 14:45 UTC
Re: help for my tool...
by ig (Vicar) on Aug 22, 2012 at 19:39 UTC

    There are various ways you could do this. One is to read the entire file into a string and then use split to break it into parts. You should read split carefully, it has many features.

    use strict; use warnings; my $text = <<EOF; MAIN LR R1,R2 . . BALR R1,LABEL#1 L R1,VAR1, . . BAL R3,LABEL#2 . . EJECT LABEL#1 . . LABEL#2 . . EOF my @parts = split(/^(BAL.*$)/m, $text); my $n = 1; open(my $fh, '>', "file$n") or die "file$n: $!"; foreach my $part (@parts) { print $fh $part; if($part =~ m/^BAL/) { $n++; open($fh, '>', "file$n") or die "file$n: $!"; } }
      thanks for th help perl monks... it was really helpful...

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (12)
As of 2015-07-30 09:00 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 (270 votes), past polls