On Tue, Mar 25, 2008 at 3:32 AM, Manoj <[EMAIL PROTECTED]> wrote: > Chas, > > I have a question on this. Will the pattern $/ used considered for other > opened files also? I was trying to match the IP with ip-host file and > considering the whole ip-host text file as single line even though there is > newline. > > Can you shower some light in this? snip
Yes, $/ is global for all files. If you only need the input separator to be special for a section of your code you can always say { local $/ = "+=========================+\n"; while (<>) { #do stuff } } You can even next the locals: { local $/ = "+=========================+\n"; while (my $record = <>) { # this is record by record my ($file) = $record =~/file: (\S+)/; local $/ = "\n"; # set input separator to line by line for this scope open my $fh, "<", "$file" or die "could not open $file: $!"; while (my $line = <$fh>) { #this is line by line #do stuff } } # $/ goes back to "+=========================+\n" } # $/ goes back to its default value ("\n") You can read more here: http://perldoc.perl.org/functions/local.html http://perldoc.perl.org/perlsub.html#Temporary-Values-via-local() http://perldoc.perl.org/perlvar.html#$INPUT_RECORD_SEPARATOR -- Chas. Owens wonkden.net The most important skill a programmer can have is the ability to read. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/