Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
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
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 wandering the Monastery: (8)
As of 2014-11-26 21:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (174 votes), past polls