|Perl: the Markov chain saw|
Re: Problem in creating Directoryby quester (Vicar)
|on Dec 02, 2011 at 09:26 UTC||Need Help??|
I can see a few things that seem odd:
Why would you want to not turn strict mode on? Are you not interested in what parts of your code are peculiar enough that the compiler has code to look for them?
Next, if you check your script with "perl -c scriptname.pl" you will see a warning"my" variable @a masks earlier declaration in same scope
The second push declares a second array @folder_name which hides the first array of that name; that makes $temp2 undefined later.
Once that is fixed, if you read the definitions of the push and pop functions carefully, you will notice that $temp1 gets the contents of the last line in file TWO if file TWO is not empty, otherwise it gets the last line in file ONE. $temp2 gets the contents of the next to last line in file TWO if there if there are two lines in file TWO, the last line in file ONE if there is one line in file TWO, and the next to last line in file ONE if file TWO is empty. Somehow I doubt that is what you had intended.
If you wanted a single line in $temp1 from file ONE, and wanted a single line in $temp2 from file TWO, you could remove the unnecessary array @folder_name and just:
You should also check the value returned from mkdir, since it may indicate an error. The easiest way is with the "... or die" idiom: